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

Azure Storage:如何通过Rest API一次性上传.pdf/.docx文件至文件共享并实现下载

一步上传Azure文件共享的解决方案(附下载方法)

嘿,我懂你分两步上传的麻烦!其实Azure Files的REST API完全支持一次性上传PDF、DOCX这类文档,不用先创建空文件再追加内容。下面给你详细说怎么操作,还有对应的下载方法:

一、一次性上传文件(PDF/DOCX)

你可以直接使用Put File API,把文件内容直接放到请求体里,一步完成文件创建和内容写入。这里给你具体的请求参数和示例:

核心请求参数

  • 请求方法: PUT
  • 请求URL: https://<你的存储账户名>.file.core.windows.net/<文件共享名>/<目标文件路径>(比如https://mystorage.file.core.windows.net/docs/report.pdf)
  • 必填请求头:
    • Authorization: 可以用SAS令牌或者基于账户密钥生成的授权字符串(建议用SAS更安全)
    • x-ms-version: 指定API版本,比如2023-11-03(选最新稳定版就行)
    • x-ms-content-length: 要上传文件的字节大小(必须和实际内容一致)
    • x-ms-type: 固定值file
    • Content-Type: 对应文件的MIME类型,比如:
      • PDF: application/pdf
      • DOCX: application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • 请求体: 直接填入文件的二进制内容

示例curl命令

curl -X PUT "https://mystorage.file.core.windows.net/docs/report.pdf" \
  -H "Authorization: SharedAccessSignature sr=https%3A%2F%2Fmystorage.file.core.windows.net%2Fdocs&sig=xxx&se=2024-12-31T23%3A59%3A59Z&sp=rw" \
  -H "x-ms-version: 2023-11-03" \
  -H "x-ms-type: file" \
  -H "x-ms-content-length: 12345" \
  -H "Content-Type: application/pdf" \
  --data-binary "@./local-report.pdf"

注意事项

  • 如果文件大小超过4MB,Azure会要求你用分块上传(Put Range),但你可以把分块逻辑封装成一个方法,对外还是“一次性”调用的体验
  • 确保x-ms-content-length和实际文件大小完全匹配,否则会报错

二、文档下载方法

下载就更简单了,用Get File API直接获取文件内容:

核心请求参数

  • 请求方法: GET
  • 请求URL: 和上传的URL一样,指向目标文件
  • 必填请求头:
    • Authorization: 同样用SAS令牌或授权字符串
    • x-ms-version: 和上传时用的API版本一致

示例curl命令

curl -X GET "https://mystorage.file.core.windows.net/docs/report.pdf" \
  -H "Authorization: SharedAccessSignature sr=https%3A%2F%2Fmystorage.file.core.windows.net%2Fdocs&sig=xxx&se=2024-12-31T23%3A59%3A59Z&sp=r" \
  -H "x-ms-version: 2023-11-03" \
  --output "./downloaded-report.pdf"

这样就能直接把文件保存到本地啦。如果是在代码里实现,只需要发送GET请求,然后把响应体写入本地文件即可。

内容的提问来源于stack exchange,提问作者2437850

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 10:42:31