在这个MERN应用程序。localhost完美的工作。但这是托管到循环然后错误这个。当我上传图像在API使用axios与formdata。响应得到
Error: EROFS: read-only file system, open '/var/task/src/public/images/images-168.jpg
这是我的多重配置
const multer = require("multer");
const path = require("path");
const fs = require("fs");
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, path.join(__dirname, "../public/images"));
},
filename: function (req, file, cb) {
const uniquesuffix = Date.now() + "-" + Math.round(Math.random() * 1e9);
cb(null, file.fieldname + "-" + uniquesuffix + ".jpeg");
},
});
const multerFilter = (req, file, cb) => {
if (file.mimetype.startsWith("image")) {
cb(null, true);
} else {
cb("Unsupported file format", false);
// cb(new Error("Wrong extension type"), false);
}
};
exports.uploadPhoto = multer({
storage: storage,
fileFilter: multerFilter,
limits: { fileSize: 2000000 },
});
最后我上传到cloudinary的图片。
我想获得响应状态200和类别创建成功。
1条答案
按热度按时间zzwlnbp81#
Multer destination必须在
/tmp
目录中,这是唯一保证工作的位置。这是一个正常的问题...循环文件系统文档为here;您可以阅读:
“一旦项目部署到Cyclic.sh,fs模块创建的文件是只读的。这将导致EROFS:错误只读文件系统错误。”