文件存储
存储概述
RavenSaaS 支持上传文件到 AWS S3 兼容的文件存储系统,例如 AWS S3 / Cloudflare R2 / 腾讯云 COS 等。
S3 兼容
支持 AWS S3 兼容的存储系统,包括 Cloudflare R2、腾讯云 COS 等。
多种上传方式
支持 AI 图片、本地文件、远程文件等多种上传方式。
简单易用
提供简洁的 API 接口,轻松集成到你的应用中。
配置云存储
选择你的云存储平台,创建存储桶,设置访问密钥和访问域名。然后把相关参数填写到项目的配置文件中:
环境变量配置
.env.production
1STORAGE_ENDPOINT=""
2STORAGE_REGION=""
3STORAGE_ACCESS_KEY=""
4STORAGE_SECRET_KEY=""
5STORAGE_BUCKET=""
6STORAGE_DOMAIN=""
文件上传
上传 AI 图片到云存储
把 aisdk 生成的图片(返回的 base64 数据),上传到云存储。
app/api/demo/gen-image/route.ts
1import { uploadFile } from "@/lib/storage";
2
3const filename = `image_${new Date().getTime()}.png`;
4const key =`ravensaas/${filename}`;
5const body = Buffer.from(image.base64, "base64");
6
7try {
8 const url = await uploadFile(body, key, "image/png", "inline");
9
10 console.log("upload file success:", url);
11} catch (err) {
12 console.log("upload file failed:", err);
13}
注意:uploadFile 接收的 body 参数是 Buffer 类型。你可以传递从 URL 下载的文件 Buffer 或者从本地文件读取的 Buffer。