在node.js中使用(multer)处理图像后,图像的url出现问题
我对图像的url有问题,此图像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 问
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函数。。。。。多谢各位