mime类型是什么 node_nodejs-mime类型

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

简单点说,mime是一个互联网标准,通过设定它就可以设定文件在浏览器的打开方式。

1、对于css文件,可以直接提取后缀名,如if(suffix==".css"){

res.writeHead("Content-type":"text/css")

}else if(suffix==".html"){

res.writeHead("Content-type":"text/html")

}

//为了直观,原谅我用了if-else

这种方法其实就是mime模块实现的基础。如前所述,mime是设定文件类型的,css,html文件的类型归类是"text/",但是视频文件3gp等是"video/",图片文件jpeg是"image/",······ 互联网上还有很多很多的格式,而我们又必须它们一个一个都实现,这才有了统一又方便可重用的mime模块文末也会贴出近乎所有mime类型

2、使用mime模块设定文件类型//cnpm install mime  下载mime模块

var mime=require("mime")//引入mime模块

res.writeHead(200,{'Content-type':mime.getType(filePath)});    //通过后缀名指定mime类型

res.end(data);

mime使用方法:

使用mime模块查询文件的MIME类型:mime.getType('/path/to/file.txt');         // => 'text/plain'

mime.getType('file.txt');                  // => 'text/plain'

mime.getType('.TXT');                      // => 'text/plain'

mime.getType('htm');                       // => 'text/html'

查询文件护展名mime.getExtension(type)mime.getExtension('text/html');                 // => 'html'

mime.getExtension('application/octet-stream');  // => 'bin'

mime自定义类型(当mime模块自带的mime-db库不存在或不能满足我们所需的MIME类型时,还可以自定义MIME类型)mime.define({

'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],

'application/x-my-type': ['x-mt', 'x-mtt'],

// etc ...

});

mime.lookup('x-sft');                 // => 'text/x-some-format'

veblen's promise

exports.types = {

'hqx':'application/mac-binhex40',

'cpt':'application/mac-compactpro',

'csv':['text/x-comma-separated-values', 'text/comma-separated-values',   'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'],

'bin':'application/macbinary',

'dms':'application/octet-stream',

'lha':'application/octet-stream',

'lzh':'application/octet-stream',

'exe':['application/octet-stream', 'application/x-msdownload'],

'class':'application/octet-stream',

'psd':'application/x-photoshop',

'so':'application/octet-stream',

'sea':'application/octet-stream',

'dll':'application/octet-stream',

'oda':'application/oda',

'pdf':['application/pdf', 'application/x-download'],

'ai':'application/postscript',

'eps':'application/postscript',

'ps':'application/postscript',

'smi':'application/smil',

'smil':'application/smil',

'mif':'application/vnd.mif',

'xls':['application/excel', 'application/vnd.ms-excel', 'application/msexcel'],

'ppt':['application/powerpoint', 'application/vnd.ms-powerpoint'],

'wbxml':'application/wbxml',

'wmlc':'application/wmlc',

'dcr':'application/x-director',

'dir':'application/x-director',

'dxr':'application/x-director',

'dvi':'application/x-dvi',

'gtar':'application/x-gtar',

'gz':'application/x-gzip',

'php':'application/x-httpd-php',

'php4':'application/x-httpd-php',

'php3':'application/x-httpd-php',

'phtml':'application/x-httpd-php',

'phps':'application/x-httpd-php-source',

'js':'application/x-javascript',

'swf':'application/x-shockwave-flash',

'sit':'application/x-stuffit',

'tar':'application/x-tar',

'tgz':['application/x-tar', 'application/x-gzip-compressed'],

'xhtml':'application/xhtml+xml',

'xht':'application/xhtml+xml',

'zip':['application/x-zip', 'application/zip', 'application/x-zip-compressed'],

'mid':'audio/midi',

'midi':'audio/midi',

'mpga':'audio/mpeg',

'mp2':'audio/mpeg',

'mp3':['audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'],

'aif':'audio/x-aiff',

'aiff':'audio/x-aiff',

'aifc':'audio/x-aiff',

'ram':'audio/x-pn-realaudio',

'rm':'audio/x-pn-realaudio',

'rpm':'audio/x-pn-realaudio-plugin',

'ra':'audio/x-realaudio',

'rv':'video/vnd.rn-realvideo',

'wav':['audio/x-wav', 'audio/wave', 'audio/wav'],

'bmp':['image/bmp', 'image/x-windows-bmp'],

'gif':'image/gif',

'jpeg':['image/jpeg', 'image/pjpeg'],

'jpg':['image/jpeg', 'image/pjpeg'],

'jpe':['image/jpeg', 'image/pjpeg'],

'png':['image/png', 'image/x-png'],

'tiff':'image/tiff',

'tif':'image/tiff',

'css':'text/css',

'html':'text/html',

'htm':'text/html',

'shtml':'text/html',

'txt':'text/plain',

'text':'text/plain',

'log':['text/plain', 'text/x-log'],

'rtx':'text/richtext',

'rtf':'text/rtf',

'xml':'text/xml',

'xsl':'text/xml',

'mpeg':'video/mpeg',

'mpg':'video/mpeg',

'mpe':'video/mpeg',

'qt':'video/quicktime',

'mov':'video/quicktime',

'avi':'video/x-msvideo',

'movie':'video/x-sgi-movie',

'doc':'application/msword',

'docx':['application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'],

'xlsx':['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'],

'word':['application/msword', 'application/octet-stream'],

'xl':'application/excel',

'eml':'message/rfc822',

'json':['application/json', 'text/json']

};

-----------------------------------------------------

转载请注明来源此处

原地址:#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值