用途:为 Next.js 或 React(TypeScript)应用添加类型安全的文件上传能力。定义文件路由(File Router)后即可获得预构建组件与自动 CDN 交付。
主要能力:按文件类型配置大小、数量限制,支持 image、video、audio、pdf、text、blob 及自定义 MIME 类型;用 middleware 做鉴权并在 onUploadComplete 回调中拿到 metadata 与 file.url;配合 zod 的 input 校验传入参数;提供 UploadButton、UploadDropzone、Uploader 组件及 useUploadThing Hook,可自定义样式与进度回调;服务端 UTApi 支持上传、删除、列举、获取 URL、重命名文件;另有 Pages Router 支持与 App Router 的 SSR 插件。
使用方式:安装 npm install uploadthing @uploadthing/react,在 uploadthing.com 注册并获取 UPLOADTHING_TOKEN 写入 .env,然后在 app/api/uploadthing/core.ts 定义 FileRouter,在 route.ts 用 createRouteHandler 导出 GET、POST,再从 FileRouter 生成类型化组件。
适用场景:需要在 Next.js/React 中接入图片、视频、PDF 等上传并做类型约束与校验的项目。
限制:资料未提供价格、额度、平台支持范围与性能数据;具体行为以官方文档与代码为准。