Javascript React应用程序从nodejs api获取图像数据

Javascript React应用程序从nodejs api获取图像数据,javascript,node.js,reactjs,Javascript,Node.js,Reactjs,我有一个toy react应用程序,它要求toy nodejs服务器进行一些图像处理并返回结果。图像处理服务器执行以下操作: let result = path.join(__dirname, '/../../tmp/', name) // .. write image to result res.status(200).sendFile(result) 将此响应记录到客户端,我得到: { data: "...binary image stuff...", status: 200, etc }

我有一个toy react应用程序,它要求toy nodejs服务器进行一些图像处理并返回结果。图像处理服务器执行以下操作:

let result = path.join(__dirname, '/../../tmp/', name)
// .. write image to result
res.status(200).sendFile(result)
将此响应记录到客户端,我得到:

{ data: "...binary image stuff...", status: 200, etc }
(1) 如何将
数据中的图像数据
转换为
?那不行

(2) 我做错了吗?在tmp中回答文件名然后让img src引用该路径是更好的方法吗?这个想法似乎更好,只是我没有机会清理tmp文件,因为我不知道img标签什么时候完成了它


如果有比(1)或(2)(比如一条小溪?)更好的方法,那也很好理解。谢谢。

如果您使用express js,您可以轻松发送图像文件

例如

// server.js

var express = require('express');
var path = require('path');

app.use('/app', function(req, res){
    res.sendFile(path.resolve(__dirname, './html/app.html'));
})

app.use('/image', function(req, res){
    res.sendFile(path.resolve(__dirname, './images/img1.jpg'));
})

app.listen(9090, function(err){
    if(err){
        console.log(err);
    }
    console.log('Listening at localhost:9090');
})

// app.html   html/app.html

<html>
    <body>
        <img src='/image'/>
    </body>
</html>

// img1.jpg images/img1.jpg
Your images has inside this folder. 
//server.js
var express=需要(“express”);
var path=require('path');
应用程序使用('/app',函数(req,res){
res.sendFile(path.resolve(_dirname,'./html/app.html');
})
应用程序使用('/image',函数(req,res){
res.sendFile(path.resolve(_dirname,'./images/img1.jpg');
})
应用程序监听(9090,功能(错误){
如果(错误){
控制台日志(err);
}
log('在本地主机上侦听:9090');
})
//app.html html/app.html
//img1.jpg图像/img1.jpg
您的图像已在此文件夹中。
运行您的服务器并点击http:localhost:9090/app。app.html将以图像打开


我希望这对您有用。

可能重复“是”,更多信息请参见此问题-您需要实际阅读file@BrettDeWoody-谢谢你的推荐。作为一个dup,这是有道理的,但是你能就问题的其他方面给我一些建议吗?我应该避免发回blob,而写一个服务器文件吗?还是小溪?我想了解专业人士是如何做到这一点的。另一篇文章中的一个解决方案对如何解决这个问题有很好的想法。您可以让nodeJS服务器返回映像文件,这样您就可以使用
。这里有更多信息-,看起来你已经在做了。