Документация Express показывает, что это можно сделать, если вы передадите имя файла.
var filename = 'path/to/image.png';
res.contentType(filename);
// Content-Type is now "image/png"
[Изменить]
Вот пример, который обслуживает файлы из относительного каталога с именем static
и автоматически устанавливает тип содержимого на основе обслуживаемого файла:
var express = require('express');
var fs = require('fs');
var app = express.createServer();
app.get('/files/:file', function(req, res) {
// Note: should use a stream here, instead of fs.readFile
fs.readFile('./static/' + req.params.file, function(err, data) {
if(err) {
res.send("Oops! Couldn't find that file.");
} else {
// set the content type based on the file
res.contentType(req.params.file);
res.send(data);
}
res.end();
});
});
app.listen(3000);