Azure blob 存储:使用 cloudBlockBlob.uploadBlock Java API 上传 blob 时缺少 CONTENT-MD5

Azure blob Storage: Missing CONTENT-MD5 when blob uploaded using cloudBlockBlob.uploadBlock Java API

我正在使用 azure-storage java sdk 版本 8.6.5 在 AZURE blob 存储中上传文件。如果我从 Web 控制台上传文件,我会看到 Content-MD5 值。

但是当我使用以下示例代码上传时,我没有看到 CONTENT-MD5 值:-

BlobRequestOptions blobRequestOptions = new BlobRequestOptions();
blobRequestOptions.setStoreBlobContentMD5(true);  
cloudBlockBlob.uploadBlock(blockId, inputstream , length, null, blobRequestOptions, null);

文件被分成多个块并在多个并行线程中上传,最后提交块列表如下。文件上传正常。

cloudBlockBlob.commitBlockList(blockIds, null, blobRequestOptions, null);

如有指点,将不胜感激!

还有任何想法以编程方式检查文件完整性并确保在 content-MD5 不可用时正确上传文件的最佳方法是什么。 Azure blob 存储是否支持任何内容验证?

如果你想在上传文件成功后得到CONTENT-MD5值,试试下面的代码:

cloudBlockBlob.getProperties().getContentMD5()

如果您仍然缺少 content-MD5 值,this link 可能会有所帮助。