您的位置:首页技术文章
文章详情页

javascript - Express 和 request 如何代理远程图片?

【字号: 日期:2023-09-11 16:01:32浏览:58作者:猪猪

问题描述

使用 Node 的 Express 结合 request 来代理远程图片,但是返回的内容和原图片的内容有区别,是乱码,但是乱的不一致。关键代码:

var FurionImgHandler = function (req, res) { var url = req.url.split(’/fimg/’)[1]; var options = {url: url }; function callback (error, response, body) {if (!error && response.statusCode === 200) { var contentType = response.headers[’content-type’]; response.setEncoding(’binary’); res.set(’Content-Type’, contentType); res.send(body);} } request.get(options, callback);};

原图片:

javascript - Express 和 request 如何代理远程图片?

代理后返回的图片:

javascript - Express 和 request 如何代理远程图片?

问题解答

回答1:

加了 encoding: null 就可以了

var options = { url: url, encoding: null};回答2:

应该是传的Blob对象,你试试转化一下。

回答3:

图片如果不需要存储或者其它操作,直接通过pipe传递给response不行吗?

http.get(options, (response) => { response.pipe(res);})

soonfy

标签: JavaScript
相关文章: