gpt4 book ai didi

javascript - 尝试在 node-js/express 中代理图像

转载 作者:可可西里 更新时间:2023-11-01 13:36:57 29 4
gpt4 key购买 nike

当我尝试通过 Express 访问它时,我得到了一个损坏的图像链接:

app.get('/fileThumbnail', function(req, res) {

var url = proxiedURL +"?" + querystring.stringify(req.query);

logger.info('/fileThumbnail going to url', url);

request.get(url, function(err, response, img) {
logger.info("response:", response.statusCode, response.headers['content-type']);
if (!err && response.statusCode === 200) {
res.writeHead(200, {
'Content-Type': response.headers['content-type']
});
// response.pipe(res); // not working
res.writeHead(200, response.headers);
res.end(img, 'binary');
} else res.send("Error occurred:", err, "; status code: ", response.statusCode);
})
});

缩略图来自 PHP 服务器:

if (!$thumbnail) {
$thumbnail = $_SERVER['DOCUMENT_ROOT'].'/images/spacer.gif';
}


// Write the thumbnail
header('Content-Type: '.image_type_to_mime_type(exif_imagetype($thumbnail)));
header('Content-length: '.filesize($thumbnail));
print file_get_contents($thumbnail,FILE_BINARY);

尝试过一些东西;响应头如下:

Access-Control-Allow-Methods:GET,POST,PUT,DELETE,OPTIONS
access-control-allow-origin:*
cache-control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
connection:Keep-Alive
content-length:894
content-type:image/jpeg
date:Mon, 17 Nov 2014 22:13:24 GMT
expires:Thu, 19 Nov 1981 08:52:00 GMT
keep-alive:timeout=5, max=100
pragma:no-cache
server:Apache/2.2.15
X-Powered-By:Express

最佳答案

像往常一样,简单的解决方案是最好的。简单地 npm install request 然后像这样使用它:

var request = require('request');

app.get('/fileThumbnail', function(req, res) {
var url = proxiedURL +"?" + querystring.stringify(req.query);
logger.info('/fileThumbnail going to url', url);
request.get(url).pipe(res);
});

关于javascript - 尝试在 node-js/express 中代理图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26982996/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com