GroupDocsGists
10/24/2017 - 1:10 PM

Examples-src-main-java-com-groupdocs-signature-examples-SampleAzureInputDataHandler-SampleAzureInputDataHandler.java

// For complete examples and data files, please go to https://github.com/groupdocs-signature/GroupDocs.Signature-for-Java
public class AzureInputDataHandler extends AzureDataHandler implements IInputDataHandler {
	public AzureInputDataHandler(String endpoint, String accountName, String accountKey, String containerName)
			throws URISyntaxException, StorageException {
		super(endpoint, accountName, accountKey, containerName);
	}

	@Override
	public FileDescription getFileDescription(String guid) {
		FileDescription result = new FileDescription(guid);
		return result;
	}

	@Override
	public InputStream getStream(String guid) {
		ByteArrayOutputStream result = new ByteArrayOutputStream();
		try {
			CloudBlobContainer container = null;
			container = getContainerReference();
			CloudBlockBlob blob = container.getBlockBlobReference(guid);
			BlobInputStream content = blob.openInputStream();
			org.apache.commons.io.IOUtils.copy(content, result);
			return new ByteArrayInputStream(result.toByteArray());
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				result.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return null;
	}
 
	public CloudBlobContainer getContainerReference() throws URISyntaxException, StorageException {
		CloudBlobContainer container = _remoteStorage.getContainerReference(_containerName);
		return container;
	}
}