问题描述
api/upload.js
import formidable from 'formidable';
export const config = {
api: {
bodyParser: false,},};
export default async (req,res) => {
const form = new formidable.IncomingForm();
form.uploadDir = "./";
form.keepExtensions = true;
form.parse(req,(err,fields,files) => {
console.log(err,files);
res.send(err || "DONE")
});
};
api/get.js
export default async (_,res) => {
const fs = require('fs');
fs.readdir("./",files) => {
console.log(err)
res.send(err || files)
});
};
在 localhost
一切正常,但当我将其部署到 vercel 时却无法正常工作。
来自 vercel 仪表板的功能日志
[POST] /api/upload
2021-02-21T12:47:11.662Z f7bb8a02-2244-4d27-8a55-9e00a43b307b ERROR Uncaught Exception {"errorType":"Error","errorMessage":"EROFS: read-only file system,open 'upload_2dd906bdebc97a1d63a371c9207b84be.png'","code":"EROFS","errno":-30,"syscall":"open","path":"upload_2dd906bdebc97a1d63a371c9207b84be.png","stack":["Error: EROFS: read-only file system,open 'upload_2dd906bdebc97a1d63a371c9207b84be.png'"]}
UnkNown application error occurred
解决方法
您需要一个具有文件系统访问权限的服务器