@tunframework/tun
Version:
tun framework for node with typescript
219 lines (218 loc) • 7.61 kB
JavaScript
// /**
// * @internal
// */
// export function _getExtByMime(mimeName: keyof typeof mimeExtMap) {
// return mimeExtMap[mimeName]
// }
// /**
// * @internal
// */
// export function _getMimeByExt(ext: string) {
// for (const key in mimeExtMap) {
// if (Object.prototype.hasOwnProperty.call(mimeExtMap, key)) {
// if (mimeExtMap[key].split(' ').indexOf(ext) > -1) {
// return key
// }
// }
// }
// return null
// }
export const mimeExtMap = {
// begin Common_types
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
'audio/aac': 'aac',
'application/x-abiword': 'abw',
'application/x-freearc': 'arc',
'image/avif': 'avif',
'video/x-msvideo': 'avi',
'application/vnd.amazon.ebook': 'azw',
'application/octet-stream': 'bin',
'image/bmp': 'bmp',
'application/x-bzip': 'bz',
'application/x-bzip2': 'bz2',
'application/x-cdf': 'cda',
'application/x-csh': 'csh',
'text/css': 'css',
'text/csv': 'csv',
'application/msword': 'doc',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'docx',
'application/vnd.ms-fontobject': 'eot',
'application/epub+zip': 'epub',
'application/gzip': 'gz',
'image/gif': 'gif',
'text/html': 'htm html',
'image/vnd.microsoft.icon': 'ico',
'text/calendar': 'ics',
'application/java-archive': 'jar',
'image/jpeg': 'jpeg jpg',
'text/javascript': 'js mjs',
'application/json': 'json',
'application/ld+json': 'jsonld',
'audio/midi audio/x-midi': 'mid midi',
// 'text/javascript': 'mjs', // JavaScript module
'audio/mpeg': 'mp3',
'video/mp4': 'mp4',
'video/mpeg': 'mpeg',
'application/vnd.apple.installer+xml': 'mpkg',
'application/vnd.oasis.opendocument.presentation': 'odp',
'application/vnd.oasis.opendocument.spreadsheet': 'ods',
'application/vnd.oasis.opendocument.text': 'odt',
'audio/ogg': 'oga',
'video/ogg': 'ogv',
'application/ogg': 'ogx',
'audio/opus': 'opus',
'font/otf': 'otf',
'image/png': 'png',
'application/pdf': 'pdf',
'application/x-httpd-php': 'php',
'application/vnd.ms-powerpoint': 'ppt',
'application/vnd.openxmlformats-officedocument.presentationml.presentation': 'pptx',
'application/vnd.rar': 'rar',
'application/rtf': 'rtf',
'application/x-sh': 'sh',
'image/svg+xml': 'svg',
'application/x-shockwave-flash': 'swf',
'application/x-tar': 'tar',
'image/tiff': 'tif tiff',
'video/mp2t': 'ts',
'font/ttf': 'ttf',
'text/plain': 'txt',
'application/vnd.visio': 'vsd',
'audio/wav': 'wav',
'audio/webm': 'weba',
'video/webm': 'webm',
'image/webp': 'webp',
'font/woff': 'woff',
'font/woff2': 'woff2',
'application/xhtml+xml': 'xhtml',
'application/vnd.ms-excel': 'xls',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'xlsx',
'application/xml': 'xml',
'application/vnd.mozilla.xul+xml': 'xul',
'application/zip': 'zip',
'video/3gpp': '3gp',
'audio/3gpp': '3gp',
'video/3gpp2': '3g2',
'audio/3gpp2': '3g2',
'application/x-7z-compressed': '7z',
// end Common_types
// refers: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types
// Web开发中 重要的MIME类型
// 'application/octet-stream': '',
// 'text/plain': 'txt',
// 'text/css': 'css',
// 'text/html': 'html',
// 'text/javascript': 'js',
// MIME类型image包含图像数据的文件。
// 子类型指定数据表示的特定图像文件格式。
// 通常只使用少量图像类型,以便在网页上使用安全
// 'image/gif': 'gif',
// 'image/jpeg': 'jpg',
// 'image/png': 'png',
// 'image/webp': '',
// 'image/svg+xml': 'svg',
'image/x-icon': 'ico',
// 音频和视频类型
// WAVE容器格式的音频文件。
// 通常支持PCM音频编解码器(WAVE编解码器“1”),
// 但其他编解码器具有有限的支持(如果有的话)。
'audio/wave': 'wav',
// 'audio/wav': 'wav',
'audio/x-wav': 'wav',
'audio/x-pn-wav': 'wav',
// 'audio/webm': '', // WebM容器格式的音频文件。Vorbis和Opus是最常见的音频编解码器。
// 'video/webm': '',
// 'audio/ogg': '',
// 'video/ogg': '',
// 'application/ogg': '',
// multipart/form-data
// 将multipart/form-data已完成的HTML表单的值从浏览器发送到服务器时,可以使用该类型。
'multipart/form-data': '',
// ---- colecting
// 压缩文件
'application/x-rar-compressed': 'rar',
// 'application/zip': 'zip',
// 'application/x-7z-compressed': '7z',
'application/x-gzip': 'gz',
// 专有文件类型。
// 避免使用,application/octet-stream
// 因为大多数浏览器不允许为此通用MIME类型定义默认行为(如“在Word中打开”)。
// 特定类型application/vnd.mspowerpoint允许用户在他们选择的演示软件中自动打开这些文件。
'application/vnd.mspowerpoint': 'ppt',
// https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats
// 'application/json': 'json',
// 'application/pdf': 'pdf',
// [MIME文件类型](https://www.cnblogs.com/zhaoyx/articles/1991511.html)
// Microsoft Word
// 'application/msword': 'doc',
// 可执行程序
'application/octet-stream bin': 'dms lha lzh exe class',
// Adobe Acrobat
// 'application/pdf': 'pdf',
// PostScript
'application/postscript': 'ai eps ps',
// Microsoft Powerpoint
'appication/powerpoint': 'ppt',
// rtf格式
'appication/rtf': 'rtf',
// unix压缩文件
'appication/x-compress': 'z',
// gzip
// 'application/x-gzip': 'gz',
// tar文档(gnu格式)
'application/x-gtar': 'gtar',
// MacroMedia Flash
// 'application/x-shockwave-flash': 'swf',
// tar(4.3BSD)
// 'application/x-tar': 'tar',
// winzip
// 'application/zip': 'zip',
// sun/next 声音文件
'audio/basic': 'au snd',
// Mpeg声音文件
// 'audio/mpeg': 'mpeg mp2',
// Midi格式
'audio/x-aiff': 'mid midi rmf',
// Real Audio声音
'audio/x-pn-realaudio': 'ram ra',
// Real Audio插件
'audio/x-pn-realaudio-plugin': 'rpm',
// Microsoft Windows声音
// 'audio/x-wav': 'wav',
// 计算机图形元文件
'image/cgm': 'cgm',
// COMPUSERVE GIF图像
// 'image/gif': 'gif',
// JPEG图像
// 'image/jpeg': 'jpeg jpg jpe',
// PNG图像
// 'image/png': 'png',
// TIFF图像
// 'image/tiff': 'tiff tif',
// MACINTOSH PICT图像
'image/x-pict': 'pic',
// CSS风格纸
// 'text/css': 'css',
// HTML文档
// 'text/html': 'html htm',
// JAVASCRIPT脚本
// 'text/javascript': 'js ls mocha',
// ASCII文本
// 'text/plain': 'txt',
// MICROSOFT RICH TEXT
'text/richtext': 'rtx',
// TAB-SEPARATED VALUE
'text/tab-separated-values': 'tsv',
// VISUAL BASIC脚本
'text/vbscript': 'vbx',
// SGML文本
'text/sgml': 'sgml sgm',
// MPEG影像
// 'video/mpeg': 'mpeg mpg mpe',
// QUICKTIME视频
'video/quicktime': 'qt mov',
// WINDOWS(AVI)视频
// 'video/x-msvideo': 'avi',
// Vrml
'x-video/x-vrml': 'wrl vrml'
};