You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PUT请求上传docx至MS Azure Storage后文件损坏,请求排查

问题排查与解决方案

核心问题

你的cURL命令使用了--form参数,这会将文件以multipart/form-data格式上传,但Azure Blob Storage的PUT块Blob接口要求直接传输文件的原始二进制内容。表单编码后的额外内容会破坏docx文件的结构,导致下载后文件损坏。

修复方案

将--form替换为--data-binary,直接传递文件原始二进制内容,同时移除手动指定的Content-Length头(curl会自动计算并添加正确值,手动指定易出现大小不匹配问题):

curl --location --request PUT 'https://mycompany.blob.core.windows.net/mycontainer/test10.docx?SAS_token' \
--header 'x-ms-date: 2024-04-30T11:17:08.494Z' \
--header 'Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document' \
--header 'x-ms-version: 2020-04-08' \
--header 'x-ms-blob-type: BlockBlob' \
--data-binary "@/Users/user/Desktop/folder/test.docx"

Postman对应操作调整

不要使用「表单数据(form-data)」模式,切换到**二进制(Binary)**模式,直接选择本地docx文件后发送PUT请求,确保上传内容是文件原始二进制数据。

内容的提问来源于stack exchange,提问作者M. Khromov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 00:26:00