【问题标题】:Azure blob Storage: Missing CONTENT-MD5 when blob uploaded using cloudBlockBlob.uploadBlock Java APIAzure blob 存储:使用 cloudBlockBlob.uploadBlock Java API 上传 blob 时缺少 CONTENT-MD5
【发布时间】:2021-03-31 12:02:58
【问题描述】:

我正在使用 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 存储是否支持任何内容验证?

【问题讨论】:

    标签: azure-storage azure-blob-storage


    【解决方案1】:

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

    cloudBlockBlob.getProperties().getContentMD5()
    

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

    【讨论】:

    • 感谢您的回复。我尝试了这段代码,我得到了 ContentMD5 的 NULL 值,而其他属性(如大小、Etag 等)具有正确的值。
    • @Arti,我明白了,这似乎与您面临的问题相同:github.com/Azure/azure-storage-java/issues/495
    • 谢谢@Stanley。分享的链接很有帮助
    • 嗨@Arti,很高兴知道这个链接很有帮助。我已经编辑了我的答案,请接受它,以便它可以帮助其他人并关闭这个问题:)
    猜你喜欢
    • 2016-04-27
    • 2020-09-17
    • 2021-08-30
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 2014-08-23
    • 2020-03-12
    相关资源
    最近更新 更多