0
我正在使用node.js和express作为特殊的web服务器。它大部分不会覆盖标准网络服务器所做的工作,但对于一小部分我需要它像一个普通的网络服务器一样工作,所以读取一个文件,将其内容用适当的MIME类型发送到客户端,就是这样。目前我的代码如下所示:mime type node.js express
app.get('/ui/*', function(req, res) {
var file = '../M4Editor/data' + req.url;
fs.readFile(file, { encoding: "utf8" }, function(err, data) {
if(err) {
res.send(404);
return;
}
res.type(mime.lookup(file));
res.send(data.toString());
});
});
mime.lookup返回正确的结果。我还尝试了使用res.send(new Buffer(data.toString(),'utf8'))和mime类型res.set('Content-Type',...),res.header(...)之前设置。无论我在Chrome中如何处理它的allways text/html。如果我检查返回的标题,甚至没有头中的Content-Type字段。
我在这里做错了什么?感谢您的建议。
用'curl -v http:// yourapp/ui/your/path'测试。上面的代码看起来应该正确地设置响应Content-Type头,但是有时候chrome的工具会掩盖可能会引起误解的事情。 –
感谢您的建议,它也没有显示MIME类型的Iive集。但请参阅我对答案的回复。 – Cromon