私はMulterを使用してアップロードファイルシステムを作成しています。私はGithubのページの指示に従ったが、うまくいかない。私は私が私が間違っているのは何TypeError: upload is not a function
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 !"});
}
});
});
を取得しますか?
EDIT
あなたが言ったように私がやったとドキュメントが言うように。
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 !"});
}
});
});
ようにしようとしたとき、私は@Aabidはあなたがしませんコメントで語った通り、アップロードが機能
「upload.single( 'avatar')」または「upload(req、res、function(err){{{{{{{{{{ '.' upload.single( 'avatar')'はすでにdestionationであなたのファイルをuplodedしていますので、 'req.file'を使ってルート内のこのファイルにアクセスすることができます。 – Aabid
この回答を見るhttps://stackoverflow.com/a/45755235/7635845 –
編集をご覧ください –