在我的脚本中,我使用https.get从badge.io下载徽章,然后管道响应。示例网址:https://img.shields.io/badge/aa-sta-brightgreen.svg
当我尝试显示下载的svg时会发生什么,它被解释为xml。即:当我尝试在localhost上显示它时,我有这样的消息: “此XML文件似乎没有与之关联的任何样式信息。文档树如下所示。”
但是,如果我将svg作为txt扩展名下载,则将其重命名为svg扩展名,然后正确显示,不会出现上述错误消息。
这是我的下载功能:
var file = fs.createWriteStream(dest);
var request = https.get(url, function(response) {
response.pipe(file);
}).on('error', function(err) {
fs.unlink(dest);
if (cb) cb(err.message);
});
无论如何下载svg并直接在localhost上显示它而不是更改它的扩展名?谢谢。
答案 0 :(得分:0)
您是否尝试过设置响应的内容类型?
res.setHeader( “内容类型”, “图像/ SVG + XML”);