在node.js中使用(multer)处理图像后,图像的url出现问题

在node.js中使用(multer)处理图像后,图像的url出现问题,node.js,multer,Node.js,Multer,我对图像的url有问题,此图像url如下: http://192.168.43.106:3000/upload\\139585975-e-learning-concept-with-blurred-city-abstract-lights-background.jpg http://192.168.43.106:3000/upload/139585975-e-learning-concept-with-blurred-city-abstract-lights-background.jpg 问

我对图像的url有问题,此图像url如下:

http://192.168.43.106:3000/upload\\139585975-e-learning-concept-with-blurred-city-abstract-lights-background.jpg
http://192.168.43.106:3000/upload/139585975-e-learning-concept-with-blurred-city-abstract-lights-background.jpg
问题在于:

/upload\\
这些(\)会导致很多问题,请问如何使url正常,如下所示:

http://192.168.43.106:3000/upload\\139585975-e-learning-concept-with-blurred-city-abstract-lights-background.jpg
http://192.168.43.106:3000/upload/139585975-e-learning-concept-with-blurred-city-abstract-lights-background.jpg
我使用这段代码在app.js中添加了镜像使用中间件(multer):我认为问题在于(diskStorage)和(destination)

此代码用于发出get请求以检索包括图像url在内的数据:

getAllServices : async (req, res)=>{
        try {
        const result = await SERVICES.find();
        res.json(
            {result : result.map(result =>{
                return {
                    id : result._id,
                    name : result.name,
                    file : 'http://192.168.43.106:3000:3000/'+result.file,
                    desc : result.desc,
                    price : result.price,
                    cat : result.cat,
                    url : 'http://192.168.43.106:3000:3000/service/'+result._id
                }
            })
            });
        }catch(err){result.json(err)}
        
        },

由于您使用的是文件系统路径的
file.originalname
,而且您很可能在Windows上,因此这实际上是预期的行为

您可以做的是替换
filename
中的反斜杠:

filename: (req, file, cb) => {
    cb(null, file.originalname.replace(/\\/g, "/");
}

文件.originalname
中的值是多少?谢谢,但实际上我试过了,没有任何变化!!我解决这个问题取决于你的想法,但问题是从(req.file.path)中的(path)开始的,当我插入新的cat。。。。所以,当我发出post请求时,只需在那里使用replace函数。。。。。多谢各位