Ste*_*ett 4 image nginx download node.js express
我正在工作的一个简单服务器可以提供图像。当直接浏览到图像 URL 时,Chrome 会提供下载图像的功能,而不仅仅是在浏览器中显示它。这是为什么?大概是标题中的东西?
相关代码是这样的:
tilestore.getTile(req.param("z"), req.param("x"), req.param("y"), function(err, tile) {
if (!err) {
res.send(tile);
} else {
res.send("Tile rendering error: " + err + "\n");
}
});
Run Code Online (Sandbox Code Playgroud)
我需要在标题中添加一些内容吗?目前情况如下:
HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Mon, 01 Sep 2014 07:22:30 GMT
Content-Type: application/octet-stream
Content-Length: 37779
Connection: keep-alive
X-Powered-By: Express
ETag: W/"9393-1937584155"
Run Code Online (Sandbox Code Playgroud)
好吧,这很容易。只需设置content-type:
if (!err) {
res.contentType('image/png');
res.send(tile);
} else {
res.send("Tile rendering error: " + err + "\n");
}
Run Code Online (Sandbox Code Playgroud)
这些图像始终是.png。
新标题:
HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Mon, 01 Sep 2014 07:33:22 GMT
Content-Type: image/png
Content-Length: 37779
Connection: keep-alive
X-Powered-By: Express
ETag: W/"9393-1937584155"
Run Code Online (Sandbox Code Playgroud)