[英]uploading file with multer
我是js新手,目前正在嘗試使用multer上傳一些文件。 這是我的代碼:
let express = require('express');
let im = require('imagemagick');
let gm = require("gm").subClass({
imageMagick: true
});
let multer = require('multer');
let app = express();
let storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, '/uploads')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now())
}
});
var upload = multer({storage: storage}).single('avatar');
app.post('/', function (req, res) {
upload(req, res, function (err) {
if (err instanceof multer.MulterError) {
res.json({
success: false,
message: 'error during uploading'
});
} else if (err) {
res.json({
success: false,
message: 'error during uploading'
});
}
res.json({
success: true,
message: 'Image uploaded'
});
})
})
app.listen(3000);
當我發送帶有文件(表單數據)的請求后,然后我收到一條成功消息,但是未創建包含該文件的文件夾 :
編輯:
我設法上傳了文件...我不得不在代碼中更改上載目錄的路徑,如下所示:
let storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './uploads/')
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
});
但是, 上載目錄不必手動創建,如果缺少,則不會自動創建...如何解決此問題?
您可以查看此問題: https : //github.com/expressjs/multer/issues/287
它說您應該在“目的地”或作為先決條件下創建目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.