繁体   English   中英

MIME类型node.js express

[英]mime type node.js express

我正在将node.js和express用于特殊的Web服务器。 它的大部分实际上不会涵盖标准Web服务器所做的工作,但是有一小部分,我需要它表现得像常规Web服务器一样,因此读取文件,将其内容以适当的mime类型发送给客户端,就这样。 目前,我的代码如下所示:

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返回正确的结果。 我还尝试使用带有mime类型的res.send(new Buffer(data.toString(),'utf8'))尝试使用res.set('Content-Type',...),res.header(...)设置之前。 无论我在Chrome中做什么,始终使用text / html。 如果我检查返回的标头,则标头中甚至没有Content-Type字段。

我在这里做错了什么? 感谢您的建议。

我的建议,为什么不使用Express静态中间件

app.use('/ui', express.static(__dirname + '../M4Editor/data'));

它应该为您处理404错误,缓存,mime类型等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM