您的位置:首頁技術文章
文章詳情頁

javascript - Express 和 request 如何代理遠程圖片?

瀏覽:187日期:2023-09-11 16:01:32

問題描述

使用 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
相關文章:
国产综合久久一区二区三区