[英]How do you make multer save the file in a folder?
我無法使用multer將照片保存在文件夾中。 該文件的路徑將被上載到mlab(工作正常),但是它應該從我想要從中獲取圖像的文件夾中獲取圖像,這只是不保存。 嘗試從視圖中查看它時,由於圖片不存在於文件夾中,因此會引發404錯誤。 這是我的服務器端控制器:
var multer = require('multer');
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './modules/articles/client/img/'); // where to store it
},
filename: function (req, file, cb) {
if(!file.originalname.match(/\.(png|jpg|jpeg|pdf|gif)$/)) {
var err = new Error();
err.code = 'filetype'; // to check on file type
return cb(err);
} else {
var day = new Date();
var d = day.getDay();
var h = day.getHours();
var fileNamee = d + '_' + h + '_' + file.originalname;
console.log("filename produced is: " + fileNamee);
cb(null, fileNamee);
}
}
});
var upload = multer({
storage: storage,
limits: { fileSize: 20971520 } // Max file size: 20MB
}).single('myfile'); // name in form
exports.uploads = function (req, res) {
upload(req, res, function (err) {
if (err) {
if (err.code === 'LIMIT_FILE_SIZE') {
res.json({ success: false, message: 'File size is too large. Max limit is 20MB' });
} else if (err.code === 'filetype') {
res.json({ success: false, message: 'File type is invalid. Accepted types are .png/.jpg/.jpeg/.pdf' });
} else {
console.log('err = ' + err);
res.json({ success: false, message: 'File was not able to be uploaded' });
}
} else {
if (!req.file) {
var article = new Article(req.body);
article.user = req.user;
article.save(function (err) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(article);
}
});
}
else if (req.file) {
res.json({ success: true, message: 'File was uploaded!' });
}
}
// Everything went fine
});
};
該代碼工作正常。 檢查您的文件夾權限。 確保服務器能夠寫入文件夾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.