【问题标题】:Azure PUT BlockList returns 400 (Block ID is invalid. Block ID must be base64 encoded.)Azure PUT BlockList 返回 400(块 ID 无效。块 ID 必须是 base64 编码。)
【发布时间】:2016-11-14 01:24:00
【问题描述】:

我有一个似乎很简单的测试,将大文件上传到 Azure Blob 存储。

我得到的响应是 400: 400(Block ID无效,Block ID必须是base64编码)

我要上传的网址是:https://xxxx.blob.core.windows.net/tmp/af620cd8-.....&comp=blocklist

与身体:

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
<Latest>BLOCK0</Latest>
<Latest>BLOCK1</Latest>
</BlockList>

这是在几次成功的块上传之后发生的: https://xxxx.blob.core.windows.net/tmp/af620cd8-02e0-fee2....&blockid=BLOCK0 等等

这里似乎不需要 Base64 编码,并且块 ID 的大小完全相同(在另一篇文章中提到过)。还有什么我可以在这里尝试的吗?

完整的代码在这里: https://github.com/mikebz/azureupload 具体的前端文件在这里: https://github.com/mikebz/azureupload/blob/master/formfileupload/templates/chunked.html

【问题讨论】:

    标签: azure azure-blob-storage


    【解决方案1】:

    块 id 必须是 base64 编码,因为您没有这样做,所以您会收到此错误。

    来自Put Block REST API 文档:

    blockid:必需。 一个有效的 Base64 字符串值,用于标识 阻止。在编码之前,字符串必须小于或等于 64 字节大小。对于给定的 blob,指定的值的长度 每个块的 blockid 参数必须是相同的大小。注意 Base64 字符串必须是 URL 编码的。

    【讨论】:

      猜你喜欢
      • 2022-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-15
      • 1970-01-01
      相关资源
      最近更新 更多