我使用了Academind的教程,如何使用multer将图像加载到节点JavaScript rest服务中。 关于路径目标文件夹,我使用以下代码:
const storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, './uploads/');
},
filename: function(req, file, cb) {
cb(null, file.originalname);
}
});
const fileFilter = (req, file, cb) => {
// reject a file
if (file.mimetype === 'image/jpeg' || file.mimetype === 'image/png') {
cb(null, true);
} else {
cb(null, false);
}
};
const upload = multer({
storage: storage,
limits: {
fileSize: 1024 * 1024 * 5
},
fileFilter: fileFilter
});
但是生成的路径具有两个反斜杠,显示为一个反斜杠: uploads \ 2018-09-16T13-02-45.535Z1536685465dummy4.jpg 如何用斜杠替换目标路径?
答案 0 :(得分:0)
我遇到了同样的问题,由于我什么也没找到,所以我做了这个工作
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './uploads/');
},
filename: function (req, file, cb) {
cb(null, `${new Date().toISOString().replace(/:/g, '-')}${file.originalname.split(" ").join("_")}`);
}
});
const user= new User({
_id : new mongoose.Types.ObjectId(),
name : req.body.name,
image: req.file.destination + req.file.filename,
});