특수 웹 서버에 express와 함께 node.js를 사용하고 있습니다. 그것의 대부분은 실제로 표준 웹 서버가하는 일을 커버하지 않을 것이다. 그러나 작은 부분을 위해 나는 정규 웹 서버처럼 행동해야한다. 그래서 파일을 읽고, 적절한 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이 올바른 결과를 반환합니다. 또한 mime 형식의 res.send (새 버퍼 (data.toString(), 'utf8'))를 사용하여 res.set ('Content-Type', ...), res.header (...) 전에 설정하십시오. 아무리 내가 크롬에서 allways text/html 않습니다. 반환 된 헤더를 검사 할 경우 헤더의 Content-Type 필드도 없습니다.
내가 뭘 잘못하고 있니? 귀하의 조언에 감사드립니다.
'curl -v http : // yourapp/ui/your/path'로 테스트하십시오. 위의 코드는 응답 Content-Type 헤더를 올바르게 설정해야하는 것처럼 보입니다. 그러나 때로는 크롬 도구가 오해의 소지가있는 것들을 강조합니다. –
조언을 주셔서 감사합니다, 그것은 또한 mime-type ive set을 보여주지 못했습니다. 그러나 받아 들여진 응답에 나의 대답을보십시오. – Cromon