У меня есть изображение pic.jpeg, которое я должен отображать на браузере. Вот фрагмент кода, который я написал.показ изображения с помощью nodejs
var mimeTypes = {
'.js' : 'text/javascript',
'.css' : 'text/css',
'.gif' : 'image/gif',
'.jpeg': 'image/jpeg',
'.html': 'text/html'
};
contenttype = mimeTypes[path.extname(req.url)];
pathname = "." + req.url;
var stream = fs.createReadStream(pathname);
stream.on('error', function(error) {
res.writeHead(500);
res.end();
return;
});
res.setHeader('Content-Type', contenttype);
res.writeHead(200);
stream.on('open', function() {
// This just pipes the read stream to the response object (which goes to the client)
util.pump(stream, res, function(error) {
//Only called when the res is closed or an error occurs
console.log("Error:");
res.end();
return;
});
});
Приведенный выше код работает большую часть времени, и изображения отображаются так, как должно, но порой изображение отсутствует.
Мне любопытно узнать, почему вы говорите «в идеале», следует использовать nginx или подобное вместо узла для статических файлов. –
Удалено, Просто люди не становятся слишком любопытными. :) –