Node.js 将图像从服务器端显示到客户端

Node.js 将图像从服务器端显示到客户端,node.js,reactjs,Node.js,Reactjs,我有一个代码,允许我使用multer从react client-side将文件发送到服务器文件夹上载。将数据发送到服务器的过程非常完美,从服务器取回文件的过程也非常完美 客户端在3000下运行,服务器在4000下运行 我现在面临的问题是将文件显示在ex-animg <img src={`http:\\localhost:4000\\server\\${text}`} className="messageText colorWhit

我有一个代码,允许我使用
multer
react client-side
将文件发送到服务器
文件夹上载
。将数据发送到服务器的过程非常完美,从服务器取回文件的过程也非常完美

客户端在
3000
下运行,服务器在
4000
下运行

我现在面临的问题是将文件显示在ex-an
img

 <img
            src={`http:\\localhost:4000\\server\\${text}`}
            className="messageText colorWhite"
            alt="img"
          />

下面是错误的图像

text
包含
uploads/image1.jpg

当我检查内容时,我发现了这个

这意味着从服务器端可以很好地调用映像

能不能帮我一下


非常感谢,

本地主机4000上的服务器没有提供包含文件的上载文件夹。 您必须首先在上载文件夹中为文件提供服务器。例如,在express服务器中,您可以通过指定此路由来访问文件

app.get('/uploads/:filename', (req, res) => {
res.sendFile(req.params.filename, {root: path.join(__dirname, '/uploads')});
})

现在设置src=http://localhost:4000\uploads\img.png将获得存储在uploads文件夹中的图像img.png

作为替代解决方案,您可以通过

app.use(express.static("uploads"));

确保在“上载”中指定完整路径

根据您的解决方案,如果我从浏览器中的
复制url=>它将从服务器端获取文件,但是当我刷新页面而不触摸元素
img
时,我得到了相同的结果没有显示任何内容,或者我无法获得您我测试了您的解决方案=>当我写入浏览器
localhost:4000\uploads\img.jpg
它工作正常,从服务器上得到了我想要的图像,但问题是,在这个组件中,
结果是一样的,什么都没有显示。我接受这个答案,我会继续我的搜索。我想前面有点问题。我想http之后有一个输入错误,我已经更正了,应该可以了。http://是正确的方法,而不是http\n我还测试了它
app.use(express.static(“./uploads”)但同样的事情,没有显示任何内容。你是否理解我想说的“http:/…”不是有效的URL。应该是:http://...“URL也应该有“/”而不是“\”斜杠。