用途:在使用 MinIO、阿里云 OSS、腾讯云 COS、AWS S3、七牛云 Kodo、华为云 OBS 等对象存储、设计文件上传下载功能时,提供存储 URL 策略选择规范,防止 URL 过期、访问失败等问题。
主要能力:
- URL 策略选择。长期资源(头像、Logo、商品图、公开文档)推荐公开 URL 或 CDN,永久有效;临时文件、私密文档、上传凭证使用预签名 URL,有效期按场景设定。
- 预签名 URL 有效期规范。客户端直传凭证 5-30 分钟,临时分享 1-24 小时,导出文件下载 1-7 天,私密文档查看 15-60 分钟;MinIO/S3 预签名最大 7 天,超时会报错。
- Bucket 公开读配置。公开 URL 需配置 bucket 公开读,否则返回 403。MinIO 可用 mc anonymous set download minio/bucket/avatars,或 bucket policy 仅授权特定目录;阿里云 OSS 可用 ossutil64 set-acl oss://bucket-name public-read。
- 前端直传校验。后端生成上传凭证时应校验文件类型与大小,并用 UUID 生成安全文件名防止路径遍历。
- CDN 回源配置。需正确设置回源 Host、回源协议、回源路径(含 bucket 名称),否则 CDN 返回 404 或 403。
使用方式:按资源类型选择 URL 策略,配置对应 bucket 权限与 CDN 回源,并在生成上传凭证时做类型、大小与文件名校验。
适用场景:对象存储文件上传下载、头像与商品图展示、临时文件分享、私密文档访问、前端直传等。
限制:资料未提供具体实现语言、框架版本及完整部署步骤;预签名 URL 最大有效期以 MinIO/S3 为准,其他平台需自行确认。