用途:在 Next.js 应用中集成 Vercel Blob 对象存储,处理文件上传、图片管理以及通过 CDN 分发的静态资源。
主要能力:支持服务端上传(Server Action、Edge API Route)、客户端直传(通过 handleUpload 生成客户端令牌,避免暴露 BLOB_READ_WRITE_TOKEN)、文件列表(含 cursor 分页)、下载与删除;支持流式上传,以及针对超过 500MB 文件的多分片上传(createMultipartUpload、uploadPart、completeMultipartUpload)。文件可设为 public(自动 CDN 分发与缓存)或 private(需认证访问)。
使用方式:先在 Vercel 控制台创建 Blob 存储并执行 vercel env pull .env.local 获取 BLOB_READ_WRITE_TOKEN,再安装 npm install @vercel/blob。服务端用 put() 上传,客户端用 upload() 配合 handleUpload() 令牌,列表用 list(),删除用 del()。
适用场景:电商商品图与用户上传、博客封面与作者头像、SaaS 文档上传与导出文件等。
限制与注意:免费额度为每月 100GB 带宽,单文件上限 500MB,超出需分片上传;服务端函数存在超时限制,大文件建议客户端直传;需校验文件类型与大小、显式设置 contentType、避免文件名冲突,并清理旧文件以控制存储成本。具体收费与配额以官方文档为准。