Javascript 如何在Node.js中请求图像和输出图像

Javascript 如何在Node.js中请求图像和输出图像,javascript,node.js,express,request,Javascript,Node.js,Express,Request,我尝试获取图像并显示在url上。我使用的是模块 例如,我想获得图像https://www.google.com/images/srpr/logo11w.png,并显示在我的url上http://example.com/google/logo 或通过显示 我试着使用请求和表达: app.get("/google/logo", function(req, res) { request.get("https://www.google.com/images/srpr/logo11w.png",

我尝试获取图像并显示在url上。我使用的是模块

例如,我想获得图像
https://www.google.com/images/srpr/logo11w.png
,并显示在我的url上
http://example.com/google/logo

或通过
显示

我试着使用请求表达

app.get("/google/logo", function(req, res) {
  request.get("https://www.google.com/images/srpr/logo11w.png", 
        function(err, result, body) {
    res.writeHead(200, {"Content-Type": "image/png"});
    res.write(body);
    res.end();
  })
})
但这种反应并不是一种想象。如何获得图像和输出


关于这个问题,请给我一些建议。谢谢。

在发出请求时,请尝试指定
编码:null
,以便响应正文是一个
缓冲区,您可以直接写入响应流:

app.get("/google/logo", function(req, res) {
    var requestSettings = {
        url: 'https://www.google.com/images/srpr/logo11w.png',
        method: 'GET',
        encoding: null
    };

    request(requestSettings, function(error, response, body) {
        res.set('Content-Type', 'image/png');
        res.send(body);
    });
});

另一方面,如果不指定
编码:null
,则
正文
参数将是一个字符串而不是缓冲区。

这似乎有些过分,您可以像这样直接要求浏览器获取url

app.get("/google/logo", function(req, res) {
res.writeHead(302, {location:"https://www.google.com/images/srpr/logo11w.png"});
res.end();
})

进入客户端时不能跨域。键入'request(requestSettings,function(error,response,body){res.set('Content-Type','image/png');res.send(body);};'无右括号。