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

如何为Azure Blob Storage的SAS URL直传设置文件大小限制?

解决Azure Blob Storage SAS URL上传文件大小限制的问题

Azure Blob Storage的SAS令牌本身不支持直接在生成时设置单个上传文件的大小限制,你可以通过以下几种方案实现类似需求:

1. 前端前置校验(最直接的方案)

在用户选择文件后、发起上传请求前,直接在前端判断文件大小,超过限制则阻止上传。示例代码:

// 假设允许的最大文件大小为10MB(单位:字节)
const MAX_FILE_SIZE = 10 * 1024 * 1024;

function handleFileUpload(file) {
  if (file.size > MAX_FILE_SIZE) {
    alert(`文件大小不能超过${MAX_FILE_SIZE / 1024 / 1024}MB`);
    return false;
  }
  // 后续执行SAS URL上传逻辑
  uploadToBlobStorage(file, sasUrl);
}

2. 存储账户全局限制

如果需要对整个存储账户的上传文件大小做统一限制,可以通过Azure门户或Azure CLI设置Blob服务的最大允许大小:

  • 登录Azure门户,找到目标存储账户
  • 进入「数据存储」>「Blob服务」>「属性」
  • 在「最大Blob大小」处设置允许的最大值(单位为字节),保存即可

这种方式是全局生效,所有通过SAS或其他方式上传到该存储账户的Blob都会受此限制。

3. 中间层校验(适用于需要严格管控的场景)

如果前端校验不足以满足安全需求,可以引入Azure Function作为中间层:

  • 前端将文件上传到Azure Function
  • Function中先校验文件大小,符合要求后再使用存储账户密钥或SAS将文件上传到Blob Storage
  • 这种方式会增加架构复杂度,但能实现更严格的权限和大小管控

补充说明

你的现有SAS生成代码无需修改,因为SAS本身没有提供大小限制的参数,上述方案是从其他维度补充实现限制逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 06:27:05