Skip to content

Rapidfile Upload API 与 Media

为你的应用提供文件上传。 为你的媒体提供托管。

Rapidfile Upload API 存储用户上传的文件,Rapidfile Media 托管你的图片、视频和音频。两者均从 cdn.rapidfile.cc 分发,使用你的 Enzonic 登录,并自动应用你付费 Enzonic 方案的限额。

包含在每个付费 Enzonic 方案中。免费账户使用 Rapidfile 自己的免费方案。

Rapidfile Upload API: api.rapidfile.cc 上的 Upload API 首页,含 Next.js 上传路由

Rapidfile Upload API

位于 api.rapidfile.cc 的 REST API,供你构建的应用使用。你的服务器保管机密的 rk_live_ 密钥;浏览器只会看到已签名的上传 URL。

已签名的上传 URL
POST /v1/uploads 返回一个有效期一小时、可安全交给浏览器的已签名 URL,浏览器直接上传到存储。
分片上传大文件
最大 95 MB 的文件可在一次请求中上传;更大的文件使用分片上传,上限为你方案的文件大小限制。
服务器上传与文件管理
使用 PUT /v1/files 从你的服务器上传,并用同一密钥列出、获取和删除文件。
公开或私有文件
公开文件会在 cdn.rapidfile.cc 上获得一个链接。私有文件获得的签名链接在七天内过期。
已签名的 Webhook
file.uploaded 和 file.deleted 事件会附带可验证的 HMAC-SHA256 签名,发送到你的端点。
投递前扫描
上传的文件会扫描恶意软件,扫描完成之前,文件不会从 CDN 投递。
app/api/upload/route.ts
// Your server: create an upload with the secret key
const res = await fetch("https://api.rapidfile.cc/v1/uploads", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.RAPIDFILE_KEY}`, // rk_live_...
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ name: "avatar.png", size: 48213, type: "image/png" }),
});
return Response.json(await res.json()); // { file, upload }
在浏览器中(sdk.js)
// The browser: upload straight to storage with sdk.js
import { uploadFile } from "https://api.rapidfile.cc/sdk.js";

const file = await uploadFile(input.files[0], {
  getUpload: "/api/upload", // your endpoint above
  onProgress: (p) => console.log(p.percent),
});
console.log(file.url); // https://cdn.rapidfile.cc/<id>/avatar.png

位于 api.rapidfile.cc/sdk.js 的浏览器 SDK 没有依赖项:它向你的端点请求上传权限,将大文件分片发送,并报告进度。

Rapidfile Media

位于 media.rapidfile.cc 的图片、视频和音频托管,用于你希望自行分享的文件。

每个文件都有链接、播放器和分享页面

拖入一个文件,即可获得分享页面、可嵌入的播放器和直接的 CDN 链接。你可以将文件设为公开或不公开列出,并查看被观看的次数。

图片
PNG, JPEG, GIF, WebP, AVIF
视频
MP4, WebM, QuickTime
音频
MP3, M4A, OGG, WAV, WebM
  • 分享页面和可嵌入的播放器
  • 每个文件都有直接的 CDN 链接
  • 公开或不公开列出的文件,并显示观看次数
  • 用于从你自己的工具上传和管理媒体的 JSON API
打开 Rapidfile Media
Rapidfile Media: media.rapidfile.cc 上的 Rapidfile Media 上传页面

各方案的 Rapidfile 限额

“免费”一列是 Rapidfile 自己的免费方案。每个付费 Enzonic 方案都会自动应用其所在列的限额,Rapidfile 则采用这些限额与你自己的 Rapidfile 方案中较高的一个。

方案免费免费StarterUS$5 每月ProUS$10 每月GrowthUS$19 每月BusinessUS$29 每月
Rapidfile Upload API
存储2 GB100 GB200 GB500 GB1 TB
文件大小最多 512 MB最多 4 GB最多 8 GB最多 16 GB最多 32 GB
应用3102550100
CDN 投递不按天计量不按天计量不按天计量不按天计量不按天计量
Rapidfile Media
存储1 GB100 GB200 GB500 GB1 TB
文件大小最多 100 MB最多 5 GB最多 10 GB最多 20 GB最多 20 GB
CDN 请求每天 200,000每天 1,000,000每天 2,000,000每天 4,000,000每天 8,000,000

来自 CDN 的 Upload API 投递不按天计量。赠款也会应用所授予方案的 Rapidfile 限额。

enzonic.dev 上的 Rapidfile

在 enzonic.dev 比较所有限额

Cloud 资助

为替他人构建产品的人士提供免费 Pro 或 Business 时长,以及最高 US$500 的 Cloud 额度。

  • 3、6 或 12 个月的 Pro 或 Business
  • Enzonic 余额中最高 US$500 的 Cloud 额度
  • 一项资助涵盖 Deploy、Databases、CI 以及该方案的 Rapidfile 限额
  • 由真人审阅,通常会在几天内回复

请使用 enzonic.dev 上的表单申请。只需一个免费的 Enzonic 账户,无需银行卡。

  • 开源项目
  • 学生
  • 非营利组织
  • 初创公司
  • 教育工作者
  • 黑客松

常见问题

不需要。Rapidfile 使用同一个 Enzonic 登录。当你的 Enzonic 方案为付费方案时,Rapidfile 会自动为你的账户应用 Upload API 和 Media 的限额;如果你自己的 Rapidfile 方案更高,则应用该方案的限额。

创建 API 密钥,发送你的第一次上传。

也要托管应用、数据库或其流水线吗?