使用 multer 上传文件时出现错误

问题描述 投票:0回答:1

我是学习 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'

对于任何类型的文件,我都会不断收到此错误。请告诉我哪里错了?

node.js upload multer
1个回答
0
投票

我确实喜欢这个并且它有效

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");
});
© www.soinside.com 2019 - 2024. All rights reserved.