// 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;
}
}