0

我正在尝试使用 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得到正确的内容,我猜我的图像,但它也不会出现在图像查看器中......我不知道如何解决这个问题。

任何想法?

谢谢!

4

1 回答 1

0

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

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

于 2012-07-29T09:02:29.343 回答