我是学习 MERN 堆栈并观看本教程的初学者 https://www.youtube.com/watch?v=7BnTHapJmD0&list=PL8p2I9GklV456iofeMKReMTvWLr7Ki9At&index=44 使用 multer 上传文件。
'''
const express=require("express");
const multer=require("multer");
const app=express();
const upload=multer({
storage:multer.diskStorage({
destination:function(req,file,cb)
{
cb(null,"uploads")
},
filename:function(req,file,cb)
{
cb(null,file.fieldname+"-"+Date.now()+".png")
}
})
}).single("user_file");
app.post("/upload",upload,(req,resp)=>{
resp.send("File upload");
});
app.listen(5000);
''' 上面是我的代码,我已经成功安装了 multer。尝试从邮递员上传文件后。
错误:ENOENT:没有此类文件或目录,请打开“C:\Users\hp\Desktop” ode_tut\uploads\user_file.png'
对于任何类型的文件,我都会不断收到此错误。请告诉我哪里错了?
我确实喜欢这个并且它有效
const storage= multer.diskStorage({
destination:function(req,file,cb)
{
cb(null,path.join(__dirname,'../public/userImages'),function(error,success){
if(error)throw error
});
},
filename:function(req,file,cb){
const name=Date.now()+'-'+file.originalname;
cb(null,name,function(error1,success1){
if(error1)throw error1
})
}
});
const upload=multer({storage:storage});
app.post("/upload",upload.single('image'),(req,resp)=>{
resp.send("File upload");
});