31 public const MIME_EXTENSIONS = [
32 'application/ogg' => [
'ogx',
'ogg',
'ogm',
'ogv',
'oga',
'spx',
'opus' ],
33 'application/pdf' => [
'pdf' ],
34 'application/vnd.apple.mpegurl' => [
'm3u8',
'm3u' ],
35 'application/vnd.ms-opentype' => [
'otf' ],
36 'application/vnd.oasis.opendocument.chart' => [
'odc' ],
37 'application/vnd.oasis.opendocument.chart-template' => [
'otc' ],
38 'application/vnd.oasis.opendocument.database' => [
'odb' ],
39 'application/vnd.oasis.opendocument.formula' => [
'odf' ],
40 'application/vnd.oasis.opendocument.formula-template' => [
'otf' ],
41 'application/vnd.oasis.opendocument.graphics' => [
'odg' ],
42 'application/vnd.oasis.opendocument.graphics-template' => [
'otg' ],
43 'application/vnd.oasis.opendocument.image' => [
'odi' ],
44 'application/vnd.oasis.opendocument.image-template' => [
'oti' ],
45 'application/vnd.oasis.opendocument.presentation' => [
'odp' ],
46 'application/vnd.oasis.opendocument.presentation-template' => [
'otp' ],
47 'application/vnd.oasis.opendocument.spreadsheet' => [
'ods' ],
48 'application/vnd.oasis.opendocument.spreadsheet-template' => [
'ots' ],
49 'application/vnd.oasis.opendocument.text' => [
'odt' ],
50 'application/vnd.oasis.opendocument.text-master' => [
'otm',
'odm' ],
51 'application/vnd.oasis.opendocument.text-template' => [
'ott' ],
52 'application/vnd.oasis.opendocument.text-web' => [
'oth' ],
53 'application/javascript' => [
'js' ],
54 'application/x-mpegurl' => [
'm3u',
'm3u8' ],
55 'application/x-shockwave-flash' => [
'swf' ],
56 'audio/midi' => [
'mid',
'midi',
'kar' ],
57 'audio/mpeg' => [
'mpga',
'mpa',
'mp2',
'mp3' ],
58 'audio/x-aiff' => [
'aif',
'aiff',
'aifc' ],
59 'audio/x-wav' => [
'wav' ],
60 'audio/ogg' => [
'oga',
'spx',
'ogg',
'opus' ],
61 'audio/opus' => [
'opus',
'ogg',
'oga',
'spx' ],
62 'image/x-bmp' => [
'bmp' ],
63 'image/gif' => [
'gif' ],
64 'image/jpeg' => [
'jpeg',
'jpg',
'jpe',
'jps' ],
65 'image/png' => [
'png',
'apng' ],
66 'image/svg+xml' => [
'svg' ],
67 'image/svg' => [
'svg' ],
68 'image/tiff' => [
'tiff',
'tif' ],
69 'image/vnd.djvu' => [
'djvu',
'djv' ],
70 'image/x.djvu' => [
'djvu' ],
71 'image/x-djvu' => [
'djvu' ],
72 'image/x-portable-pixmap' => [
'ppm' ],
73 'image/x-xcf' => [
'xcf' ],
74 'text/plain' => [
'txt' ],
75 'text/html' => [
'html',
'htm' ],
76 'video/ogg' => [
'ogv',
'ogm',
'ogg' ],
77 'video/mpeg' => [
'mpg',
'mpeg',
'mpe' ],
78 'application/acad' => [
'dwg' ],
79 'application/andrew-inset' => [
'ez' ],
80 'application/mac-binhex40' => [
'hqx' ],
81 'application/mac-compactpro' => [
'cpt' ],
82 'application/mathml+xml' => [
'mathml' ],
83 'application/msword' => [
'doc',
'dot' ],
84 'application/octet-stream' => [
'bin',
'dms',
'lha',
'lzh',
'exe',
'class',
'so',
'dll' ],
85 'application/oda' => [
'oda' ],
86 'application/postscript' => [
'ai',
'eps',
'ps' ],
87 'application/rdf+xml' => [
'rdf',
'owl' ],
88 'application/smil' => [
'smi',
'smil' ],
89 'application/srgs' => [
'gram' ],
90 'application/srgs+xml' => [
'grxml' ],
91 'application/vnd.mif' => [
'mif' ],
92 'application/vnd.ms-excel' => [
'xls',
'xlt',
'xla' ],
93 'application/vnd.ms-powerpoint' => [
'ppt',
'pot',
'pps',
'ppa' ],
94 'application/vnd.wap.wbxml' => [
'wbxml' ],
95 'application/vnd.wap.wmlc' => [
'wmlc' ],
96 'application/vnd.wap.wmlscriptc' => [
'wmlsc' ],
97 'application/voicexml+xml' => [
'vxml' ],
98 'application/x-7z-compressed' => [
'7z' ],
99 'application/x-bcpio' => [
'bcpio' ],
100 'application/x-bzip' => [
'bz' ],
101 'application/x-bzip2' => [
'bz2' ],
102 'application/x-cdlink' => [
'vcd' ],
103 'application/x-chess-pgn' => [
'pgn' ],
104 'application/x-cpio' => [
'cpio' ],
105 'application/x-csh' => [
'csh' ],
106 'application/x-dia-diagram' => [
'dia' ],
107 'application/x-director' => [
'dcr',
'dir',
'dxr' ],
108 'application/x-dvi' => [
'dvi' ],
109 'application/x-futuresplash' => [
'spl' ],
110 'application/x-gtar' => [
'gtar',
'tar' ],
111 'application/x-gzip' => [
'gz' ],
112 'application/x-hdf' => [
'hdf' ],
113 'application/x-jar' => [
'jar' ],
114 'application/json' => [
'json' ],
115 'application/x-koan' => [
'skp',
'skd',
'skt',
'skm' ],
116 'application/x-latex' => [
'latex' ],
117 'application/x-netcdf' => [
'nc',
'cdf' ],
118 'application/x-sh' => [
'sh' ],
119 'application/x-shar' => [
'shar' ],
120 'application/x-stuffit' => [
'sit' ],
121 'application/x-sv4cpio' => [
'sv4cpio' ],
122 'application/x-sv4crc' => [
'sv4crc' ],
123 'application/x-tar' => [
'tar' ],
124 'application/x-tcl' => [
'tcl' ],
125 'application/x-tex' => [
'tex' ],
126 'application/x-texinfo' => [
'texinfo',
'texi' ],
127 'application/x-troff' => [
't',
'tr',
'roff' ],
128 'application/x-troff-man' => [
'man' ],
129 'application/x-troff-me' => [
'me' ],
130 'application/x-troff-ms' => [
'ms' ],
131 'application/x-ustar' => [
'ustar' ],
132 'application/x-wais-source' => [
'src' ],
133 'application/x-xpinstall' => [
'xpi' ],
134 'application/xhtml+xml' => [
'xhtml',
'xht' ],
135 'application/xslt+xml' => [
'xslt' ],
136 'application/xml' => [
'xml',
'xsl',
'xsd',
'kml' ],
137 'application/xml-dtd' => [
'dtd' ],
139 [
'zip',
'jar',
'xpi',
'sxc',
'stc',
'sxd',
'std',
'sxi',
'sti',
'sxm',
'stm',
'sxw',
'stw' ],
140 'application/x-rar' => [
'rar' ],
141 'font/collection' => [
'ttc' ],
142 'font/otf' => [
'ttf',
'otf' ],
143 'font/sfnt' => [
'ttf',
'otf' ],
144 'font/ttf' => [
'ttf',
'otf' ],
145 'application/font-sfnt' => [
'ttf' ],
146 'font/woff' => [
'woff' ],
147 'application/font-woff' => [
'woff' ],
148 'font/woff2' => [
'woff2' ],
149 'application/font-woff2' => [
'woff2' ],
150 'application/vnd.ms-fontobject' => [
'eot' ],
151 'application/x-font-ttf' => [
'ttf' ],
152 'audio/basic' => [
'au',
'snd' ],
153 'video/webm' => [
'webm' ],
154 'audio/webm' => [
'webm' ],
155 'audio/x-matroska' => [
'mka',
'mkv' ],
156 'audio/x-mpegurl' => [
'm3u' ],
157 'audio/x-ogg' => [
'oga',
'ogg',
'spx',
'opus' ],
158 'audio/x-pn-realaudio' => [
'ram',
'rm' ],
159 'audio/x-pn-realaudio-plugin' => [
'rpm' ],
160 'audio/x-realaudio' => [
'ra' ],
161 'audio/wav' => [
'wav' ],
162 'audio/x-flac' => [
'flac' ],
163 'audio/flac' => [
'flac' ],
164 'chemical/x-pdb' => [
'pdb' ],
165 'chemical/x-xyz' => [
'xyz' ],
166 'image/bmp' => [
'bmp' ],
167 'image/cgm' => [
'cgm' ],
168 'image/ief' => [
'ief' ],
169 'image/jp2' => [
'jp2',
'j2k',
'jpg2' ],
170 'image/jpx' => [
'jpf',
'jpx' ],
171 'image/vnd.microsoft.icon' => [
'ico' ],
172 'image/vnd.wap.wbmp' => [
'wbmp' ],
173 'image/webp' => [
'webp' ],
174 'image/x-cmu-raster' => [
'ras' ],
175 'image/x-icon' => [
'ico' ],
176 'image/x-jps' => [
'jps' ],
177 'image/x-ms-bmp' => [
'bmp' ],
178 'image/x-portable-anymap' => [
'pnm' ],
179 'image/x-portable-bitmap' => [
'pbm' ],
180 'image/x-portable-graymap' => [
'pgm' ],
181 'image/x-rgb' => [
'rgb' ],
182 'image/x-photoshop' => [
'psd' ],
183 'image/x-xbitmap' => [
'xbm' ],
184 'image/x-xpixmap' => [
'xpm' ],
185 'image/x-xwindowdump' => [
'xwd' ],
186 'model/iges' => [
'igs',
'iges' ],
187 'model/mesh' => [
'msh',
'mesh',
'silo' ],
188 'model/vrml' => [
'wrl',
'vrml' ],
189 'text/calendar' => [
'ics',
'ifb' ],
190 'text/css' => [
'css' ],
191 'text/csv' => [
'csv' ],
192 'text/richtext' => [
'rtx' ],
193 'text/rtf' => [
'rtf' ],
194 'text/sgml' => [
'sgml',
'sgm' ],
195 'text/tab-separated-values' => [
'tsv' ],
196 'text/vnd.wap.wml' => [
'wml' ],
197 'text/vnd.wap.wmlscript' => [
'wmls' ],
198 'text/xml' => [
'xml',
'xsl',
'xslt',
'rss',
'rdf' ],
199 'text/x-component' => [
'htc' ],
200 'text/x-setext' => [
'etx' ],
201 'text/x-sawfish' => [
'jl' ],
202 'video/mp4' => [
'mp4',
'm4a',
'm4p',
'm4b',
'm4r',
'm4v' ],
203 'audio/mp4' => [
'm4a' ],
204 'video/quicktime' => [
'qt',
'mov' ],
205 'video/vnd.mpegurl' => [
'mxu' ],
206 'video/x-flv' => [
'flv' ],
207 'video/x-matroska' => [
'mkv',
'mka' ],
208 'video/x-msvideo' => [
'avi' ],
209 'video/x-ogg' => [
'ogv',
'ogm',
'ogg' ],
210 'video/x-sgi-movie' => [
'movie' ],
211 'x-conference/x-cooltalk' => [
'ice' ],
212 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => [
'docx' ],
213 'application/vnd.openxmlformats-officedocument.wordprocessingml.template' => [
'dotx' ],
214 'application/vnd.ms-word.document.macroenabled.12' => [
'docm' ],
215 'application/vnd.ms-word.template.macroenabled.12' => [
'dotm' ],
216 'application/vnd.openxmlformats-officedocument.presentationml.template' => [
'potx' ],
217 'application/vnd.openxmlformats-officedocument.presentationml.slideshow' => [
'ppsx' ],
218 'application/vnd.openxmlformats-officedocument.presentationml.presentation' => [
'pptx' ],
219 'application/vnd.ms-powerpoint.addin.macroenabled.12' => [
'ppam' ],
220 'application/vnd.ms-powerpoint.presentation.macroenabled.12' => [
'pptm',
'potm' ],
221 'application/vnd.ms-powerpoint.slideshow.macroenabled.12' => [
'ppsm' ],
222 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => [
'xlsx' ],
223 'application/vnd.openxmlformats-officedocument.spreadsheetml.template' => [
'xltx' ],
224 'application/vnd.ms-excel.sheet.macroenabled.12' => [
'xlsm' ],
225 'application/vnd.ms-excel.template.macroenabled.12' => [
'xltm' ],
226 'application/vnd.ms-excel.addin.macroenabled.12' => [
'xlam' ],
227 'application/vnd.ms-excel.sheet.binary.macroenabled.12' => [
'xlsb' ],
228 'model/vnd.dwfx+xps' => [
'dwfx' ],
229 'application/vnd.ms-xpsdocument' => [
'xps' ],
230 'chemical/x-mdl-molfile' => [
'mol' ],
231 'chemical/x-mdl-sdfile' => [
'sdf' ],
232 'chemical/x-mdl-rxnfile' => [
'rxn' ],
233 'chemical/x-mdl-rdfile' => [
'rd' ],
234 'chemical/x-mdl-rgfile' => [
'rg' ],
235 'application/x-amf' => [
'amf' ],
236 'application/sla' => [
'stl' ],
237 'application/wasm' => [
'wasm' ],
241 'application/x-opc+zip' => [
242 'docx',
'dotx',
'docm',
'dotm',
'potx',
'ppsx',
'pptx',
'ppam',
'pptm',
'potm',
'ppsm',
243 'xlsx',
'xltx',
'xlsm',
'xltm',
'xlam',
'xlsb',
'dwfx',
'xps'
245 'application/vnd.oasis.opendocument' => [
246 'odt',
'ott',
'odg',
'otg',
'odp',
'otp',
'ods',
'ots',
'odc',
'otc',
247 'odi',
'oti',
'odf',
'otf',
'odm',
'oth',
252 public const MEDIA_TYPES = [
255 'application/vnd.oasis.opendocument.chart',
256 'application/vnd.oasis.opendocument.chart-template',
257 'application/vnd.oasis.opendocument.database',
258 'application/vnd.oasis.opendocument.formula',
259 'application/vnd.oasis.opendocument.formula-template',
260 'application/vnd.oasis.opendocument.graphics',
261 'application/vnd.oasis.opendocument.graphics-template',
262 'application/vnd.oasis.opendocument.image',
263 'application/vnd.oasis.opendocument.image-template',
264 'application/vnd.oasis.opendocument.presentation',
265 'application/vnd.oasis.opendocument.presentation-template',
266 'application/vnd.oasis.opendocument.spreadsheet',
267 'application/vnd.oasis.opendocument.spreadsheet-template',
268 'application/vnd.oasis.opendocument.text',
269 'application/vnd.oasis.opendocument.text-template',
270 'application/vnd.oasis.opendocument.text-master',
271 'application/vnd.oasis.opendocument.text-web',
273 'application/acrobat',
274 'application/msword',
275 'application/vnd.ms-excel',
276 'application/vnd.ms-powerpoint',
277 'application/x-director',
282 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
283 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
284 'application/vnd.ms-word.document.macroenabled.12',
285 'application/vnd.ms-word.template.macroenabled.12',
286 'application/vnd.openxmlformats-officedocument.presentationml.template',
287 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
288 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
289 'application/vnd.ms-powerpoint.addin.macroenabled.12',
290 'application/vnd.ms-powerpoint.presentation.macroenabled.12',
291 'application/vnd.ms-powerpoint.presentation.macroenabled.12',
292 'application/vnd.ms-powerpoint.slideshow.macroenabled.12',
293 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
294 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',
295 'application/vnd.ms-excel.sheet.macroenabled.12',
296 'application/vnd.ms-excel.template.macroenabled.12',
297 'application/vnd.ms-excel.addin.macroenabled.12',
298 'application/vnd.ms-excel.sheet.binary.macroenabled.12',
301 'application/javascript',
303 'application/x-javascript',
304 'application/javascript',
306 'application/x-javascript',
307 'application/x-ecmascript',
309 'application/x-bash',
312 'application/x-tcsh',
314 'application/x-perl',
315 'application/x-python',
319 'application/x-shockwave-flash',
321 'application/vnd.apple.mpegurl',
322 'application/x-mpegurl',
331 'application/x-shockwave-flash',
332 'audio/x-pn-realaudio-plugin',
358 'audio/x-pn-realaudio',
375 'image/x-portable-pixmap',
389 'image/vnd.microsoft.icon',
391 'image/x-portable-pixmap',
392 'image/x-portable-graymap',
393 'image/x-portable-greymap',
403 'image/vnd.adobe.photoshop',
409 'application/svg+xml',
412 'application/postscript',
413 'application/x-latex',
415 'application/x-dia-diagram',
417 'application/x-acad',
418 'application/autocad_dwg',
422 'application/x-autocad',
425 'chemical/x-mdl-molfile',
426 'chemical/x-mdl-sdfile',
427 'chemical/x-mdl-rxnfile',
428 'chemical/x-mdl-rdfile',
429 'chemical/x-mdl-rgfile',
436 'application/xhtml+xml',
442 'text/tab-separated-values',
458 'application/octet-stream',
459 'application/x-empty',
464 'application/x-gzip',
465 'application/x-bzip',
466 'application/x-bzip2',
468 'application/x-stuffit',
469 'application/x-opc+zip',
470 'application/x-7z-compressed',
478 public const MIME_TYPE_ALIASES = [
479 'text/javascript' =>
'application/javascript',
480 'application/x-javascript' =>
'application/javascript',
481 'audio/mpeg' =>
'audio/mp3',
482 'audio/ogg' =>
'application/ogg',
483 'video/ogg' =>
'application/ogg',
484 'image/x-ms-bmp' =>
'image/x-bmp',
485 'image/bmp' =>
'image/x-bmp',
486 'application/octet-stream' =>
'unknown/unknown',
487 'application/x-empty' =>
'unknown/unknown',
488 'image/x-png' =>
'image/png',
489 'image/pjpeg' =>
'image/jpeg',
490 'image/x-ico' =>
'image/x-icon',
491 'image/vnd.microsoft.icon' =>
'image/x-icon',
492 'image/x-portable-greymap' =>
'image/x-portable-graymap',
493 'application/x-bmp' =>
'image/x-bmp',
494 'application/bmp' =>
'image/x-bmp',
495 'image/psd' =>
'image/x-photoshop',
496 'image/x-psd' =>
'image/x-photoshop',
497 'image/photoshop' =>
'image/x-photoshop',
498 'image/vnd.adobe.photoshop' =>
'image/x-photoshop',
499 'application/svg+xml' =>
'image/svg+xml',
500 'application/svg' =>
'image/svg+xml',
501 'image/svg' =>
'image/svg+xml',
502 'audio/mp3' =>
'audio/mpeg',
503 'audio/mpeg3' =>
'audio/mpeg',
504 'audio/x-wav' =>
'audio/wav',
505 'audio/wave' =>
'audio/wav',
506 'audio/mid' =>
'audio/midi',
507 'application/mpeg' =>
'video/mpeg',
508 'application/x-ogg' =>
'application/ogg',
509 'audio/x-ogg' =>
'application/ogg',
510 'video/x-ogg' =>
'application/ogg',
511 'application/xhtml+xml' =>
'text/html',
512 'text/xml' =>
'application/xml',
513 'application/x-zip' =>
'application/zip',
514 'application/x-ecmascript' =>
'application/javascript',
515 'text/ecmascript' =>
'application/javascript',
516 'application/acrobat' =>
'application/pdf',
517 'image/x.djvu' =>
'image/vnd.djvu',
518 'image/x-djvu' =>
'image/vnd.djvu',
519 'application/x-acad' =>
'application/acad',
520 'application/autocad_dwg' =>
'application/acad',
521 'image/x-dwg' =>
'application/acad',
522 'application/dwg' =>
'application/acad',
523 'application/x-dwg' =>
'application/acad',
524 'application/x-autocad' =>
'application/acad',
525 'image/vnd.dwg' =>
'application/acad',
526 'drawing/dwg' =>
'application/acad',
527 'image/jpeg2000' =>
'image/jp2',
528 'image/jpeg2000-image' =>
'image/jp2',
529 'image/x-jpeg2000-image' =>
'image/jp2',
530 'application/csv' =>
'text/csv',
531 'application/x-csv' =>
'text/csv',
532 'text/x-csv' =>
'text/csv',
533 'text/comma-separated-values' =>
'text/csv',
534 'text/x-comma-separated-values' =>
'text/csv',
const MEDIATYPE_MULTIMEDIA
const MEDIATYPE_EXECUTABLE