Image 使用node.js通过http发送图像

Image 使用node.js通过http发送图像,image,node.js,mime-types,Image,Node.js,Mime Types,我正在尝试使用node.js通过HTTP发送图像 我可以发送HTML、文本,但不能发送图像 下面是我尝试做的一个示例: request(options, function(error, response, body) { http.createServer(function(req, res) { res.statusCode = response.statusCode; res.writeHead(res.statusCode, { 'Content-T

我正在尝试使用node.js通过HTTP发送图像

我可以发送HTML、文本,但不能发送图像

下面是我尝试做的一个示例:

request(options, function(error, response, body) {
    http.createServer(function(req, res) {
        res.statusCode = response.statusCode;
        res.writeHead(res.statusCode, { 'Content-Type': response.headers['content-type'] });
        res.write(body);
        res.end();
    }
});
我得到的只是:

当我尝试图标时也会发生同样的情况

如果我
wget
图像,我想我得到了正确的内容,但它也不会显示在图像查看器中。。。我不知道怎么解决这个问题

有什么想法吗


谢谢

确保
body
是一个缓冲区,而不是图像的编码表示(除非它的编码方式使普通浏览器可以在您发送适当的
内容编码
标题时对其进行解码,在这种情况下,您应该(您猜对了!)发送适当的标题


特别是,不要尝试使用
fs.*
方法读取图像,其中要求响应为UTF-8,然后尝试将其发送为“原始”.

问题可能出在
body
。里面有什么?你确定这是一个有效的PNG图像吗?在
res.statusCode
里有什么?我想你的意思是把
200
放在那里,是吗?我更新了这个示例,让你看看我是怎么做的。你真的要下载这个图像吗?你不能把它原来的src放在
img
标记?还有,你能不能只
res.writeHead(response.headers)
?@FlorianMargaine,它的目的是作为代理,所以是的,我必须通过整个过程。我实际上是通过
请求
获得它,我使用的是请求发送给我的相同的头。你知道吗?