MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准。Node.js在回应http请求时,要返回一个文件的类型即:'Content-type' 字段,之前练习都是自己判断文件类型,然后直接写死...后来看到别人的代码才发现应该加一个类型判断模块。这里自己实现了一个,但是类型写的不是很全,需要别的类型再添加就行了,这里直接放上代码:
const path = require('path');
const mimeTypes = {
'.css': 'text/css',
'.gif': 'image/gif',
'.html': 'text/html',
'.ico': 'image/x-icon',
'.jpeg': 'image/jpeg',
'.jpg': 'image/jpeg',
'.js': 'text/javascript',
'.json': 'application/json',
'.pdf': 'application/pdf',
'.png': 'image/png',
'.svg': 'image/svg+xml',
'.swf': 'application/x-shockwave-flash',
'.tiff': 'image/tiff',
'.txt': 'text/plain',
'.wav': 'audio/x-wav',
'.wma': 'audio/x-ms-wma',
'.wmv': 'video/x-ms-wmv',
'.xml': 'text/xml'
};
module.exports = (filePath) => {
// 有可能出现这样的:a.b.js,
let ext = path.extname(filePath);
// 如果没有拓展名,就返回路径
if (!ext) {
ext = filePath;
}
// 如果有对应的后缀名,返回相应的type;没有则返回纯文本
return mimeTypes[ext] || mimeTypes['.txt'];
};