通过快速路线返回图像数据

时间:2019-07-19 14:14:29

标签: html node.js image express blob

我需要将图像数据返回到链接到快递路线的html元素。

我的html <img> 标签看起来像这样

<img class="image" crossorigin="anonymous" src="/a/OIkhg2P2QoOV3qiOByvwxQ/xyz.png">

我的快递路线如下: img_url 是另一个站点上图像的URL。

router.get('/a/:projectLocator/:fileName', function (req, res) {    
    const img_url = base64_decode(req.params.projectLocator) + req.params.fileName;
    request.get(img_url, (error, response, body) => {
        res.set({'Content-Type': 'image/png'});
        res.send(body);
});

此代码似乎不起作用,因为该图像未在客户端上呈现。服务器返回无任何错误。

我在这里做错什么了吗?我正确设置了mime类型。

任何帮助都是无价的。

1 个答案:

答案 0 :(得分:1)

request具有流接口。尝试使用它。在速度和内存上会更好。

router.get('/a/:projectLocator/:fileName', function (req, res) {    
    const img_url = base64_decode(req.params.projectLocator) + req.params.fileName;
    res.set({'Content-Type': 'image/png'});
    request.get(img_url).pipe(res)
});

示例:https://repl.it/@ktilcu/images