2
我正在使用Multer創建上傳文件系統。我遵循Github頁面的指示,但它不起作用。我得到Multer上傳不是函數
const express= require('express');
const app = express();
const multer = require('multer');
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, '/uploads');
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now());
}
});
const upload = multer({ storage: storage });
app.post('/editPhoto',upload.single('avatar'),function(req,res,next){
upload(req,res,function(err){
if(err){
res.json({success:false,message:err});
}
else{
res.json({success:true,message:"Photo was updated !"});
}
});
});
我得到TypeError: upload is not a function
我在做什麼錯?
編輯
如你所說的我沒有和作爲醫生說。
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './uploads');
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now());
}
});
app.post('/editPhoto',function(req,res,next){
var upload = multer({ storage:storage}).single('userPhoto');
upload(req,res,function(err){
console.log(req.file);
if(err){
res.json({success:false,message:err});
}
else{
res.json({success:true,message:"Photo was updated !"});
}
});
});
req.file是不確定的
,當我嘗試這樣
var upload = multer({ storage:storage});
app.post('/editPhoto',function(req,res,next){
upload(req,res,function(err){
console.log(req.file);
if(err){
res.json({success:false,message:err});
}
else{
res.json({success:true,message:"Photo was updated !"});
}
});
});
我得到上傳的不是功能
請仔細閱讀multer doc https://www.npmjs.com/package/multer要麼使用'upload.single('avatar')'或'upload(req,res,function(err){ '''upload.single('avatar')'已經在destionation中對您的文件進行了升級,現在您可以使用'req.file'在您的路由中訪問此文件。 – Aabid
看看這個答案https://stackoverflow.com/a/45755235/7635845 –
請看編輯 –