在 next.js 中创建上传文件 api

use*_*396 14 next.js

可以在next.js中创建文件上传api吗?(使用 /api 目录)还是我必须在线使用外部第三方服务?网上找不到任何例子。谢谢

Nik*_*lev 17

您可以使用 Next.js API 路由上传文件。

具有默认 Next.js 正文解析的示例

API 处理程序

export default (req, res) => {
  // req.body contains a content of an uploaded file + headers
}
Run Code Online (Sandbox Code Playgroud)

req.bodystring在开头包含相关的 HTTP 标头的,如

------WebKitFormBoundarydj2uhBXPZtD3nte3
Content-Disposition: form-data; name="your_input_name"; filename="your_file_name.json"
Content-Type: application/json
your file content is here!
Run Code Online (Sandbox Code Playgroud)

因此,您需要从中取出内容。可能有一些软件包可以做到这一点。

或者,您可以使用第三方包解析请求。

强大的例子

API 处理程序

------WebKitFormBoundarydj2uhBXPZtD3nte3
Content-Disposition: form-data; name="your_input_name"; filename="your_file_name.json"
Content-Type: application/json
your file content is here!
Run Code Online (Sandbox Code Playgroud)

以上示例中的代码仅用于说明目的。至少需要try catch用正确的错误处理将它包装在语句中。

  • 禁用默认的正文解析器为我完成了这项工作!谢谢! (2认同)