2 // System.Web.MimeTypes
5 // Gonzalo Paniagua Javier (gonzalo@ximian.com)
7 // (C) 2002 Ximian, Inc (http://www.ximian.com)
11 // Permission is hereby granted, free of charge, to any person obtaining
12 // a copy of this software and associated documentation files (the
13 // "Software"), to deal in the Software without restriction, including
14 // without limitation the rights to use, copy, modify, merge, publish,
15 // distribute, sublicense, and/or sell copies of the Software, and to
16 // permit persons to whom the Software is furnished to do so, subject to
17 // the following conditions:
19 // The above copyright notice and this permission notice shall be
20 // included in all copies or substantial portions of the Software.
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
26 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
27 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32 using System
.Collections
;
38 static Hashtable mimeTypes
;
42 mimeTypes
= new Hashtable (CaseInsensitiveHashCodeProvider
.Default
,
43 CaseInsensitiveComparer
.Default
);
45 mimeTypes
.Add ("3dm", "x-world/x-3dmf");
46 mimeTypes
.Add ("3dmf", "x-world/x-3dmf");
47 mimeTypes
.Add ("aab", "application/x-authorware-bin");
48 mimeTypes
.Add ("aam", "application/x-authorware-map");
49 mimeTypes
.Add ("aas", "application/x-authorware-seg");
50 mimeTypes
.Add ("abc", "text/vnd.abc");
51 mimeTypes
.Add ("acgi", "text/html");
52 mimeTypes
.Add ("afl", "video/animaflex");
53 mimeTypes
.Add ("ai", "application/postscript");
54 mimeTypes
.Add ("aif", "audio/aiff");
55 mimeTypes
.Add ("aifc", "audio/aiff");
56 mimeTypes
.Add ("aiff", "audio/aiff");
57 mimeTypes
.Add ("aim", "application/x-aim");
58 mimeTypes
.Add ("aip", "text/x-audiosoft-intra");
59 mimeTypes
.Add ("ani", "application/x-navi-animation");
60 mimeTypes
.Add ("aos", "application/x-nokia-9000-communicator-add-on-software");
61 mimeTypes
.Add ("aps", "application/mime");
62 mimeTypes
.Add ("art", "image/x-jg");
63 mimeTypes
.Add ("asf", "video/x-ms-asf");
64 mimeTypes
.Add ("asm", "text/x-asm");
65 mimeTypes
.Add ("asp", "text/asp");
66 mimeTypes
.Add ("asx", "application/x-mplayer2");
67 mimeTypes
.Add ("au", "audio/x-au");
68 mimeTypes
.Add ("avi", "video/avi");
69 mimeTypes
.Add ("avs", "video/avs-video");
70 mimeTypes
.Add ("bcpio", "application/x-bcpio");
71 mimeTypes
.Add ("bm", "image/bmp");
72 mimeTypes
.Add ("bmp", "image/bmp");
73 mimeTypes
.Add ("boo", "application/book");
74 mimeTypes
.Add ("book", "application/book");
75 mimeTypes
.Add ("boz", "application/x-bzip2");
76 mimeTypes
.Add ("bsh", "application/x-bsh");
77 mimeTypes
.Add ("bz", "application/x-bzip");
78 mimeTypes
.Add ("bz2", "application/x-bzip2");
79 mimeTypes
.Add ("c", "text/plain");
80 mimeTypes
.Add ("c++", "text/plain");
81 mimeTypes
.Add ("cat", "application/vnd.ms-pki.seccat");
82 mimeTypes
.Add ("cc", "text/plain");
83 mimeTypes
.Add ("ccad", "application/clariscad");
84 mimeTypes
.Add ("cco", "application/x-cocoa");
85 mimeTypes
.Add ("cdf", "application/cdf");
86 mimeTypes
.Add ("cer", "application/pkix-cert");
87 mimeTypes
.Add ("cha", "application/x-chat");
88 mimeTypes
.Add ("chat", "application/x-chat");
89 mimeTypes
.Add ("class", "application/java");
90 mimeTypes
.Add ("conf", "text/plain");
91 mimeTypes
.Add ("cpio", "application/x-cpio");
92 mimeTypes
.Add ("cpp", "text/plain");
93 mimeTypes
.Add ("cpt", "application/x-cpt");
94 mimeTypes
.Add ("crl", "application/pkix-crl");
95 mimeTypes
.Add ("crt", "application/pkix-cert");
96 mimeTypes
.Add ("csh", "application/x-csh");
97 mimeTypes
.Add ("css", "text/css");
98 mimeTypes
.Add ("cxx", "text/plain");
99 mimeTypes
.Add ("dcr", "application/x-director");
100 mimeTypes
.Add ("deepv", "application/x-deepv");
101 mimeTypes
.Add ("def", "text/plain");
102 mimeTypes
.Add ("der", "application/x-x509-ca-cert");
103 mimeTypes
.Add ("dif", "video/x-dv");
104 mimeTypes
.Add ("dir", "application/x-director");
105 mimeTypes
.Add ("dl", "video/dl");
106 mimeTypes
.Add ("doc", "application/msword");
107 mimeTypes
.Add ("dot", "application/msword");
108 mimeTypes
.Add ("dp", "application/commonground");
109 mimeTypes
.Add ("drw", "application/drafting");
110 mimeTypes
.Add ("dv", "video/x-dv");
111 mimeTypes
.Add ("dvi", "application/x-dvi");
112 mimeTypes
.Add ("dwf", "drawing/x-dwf (old)");
113 mimeTypes
.Add ("dwg", "application/acad");
114 mimeTypes
.Add ("dxf", "application/dxf");
115 mimeTypes
.Add ("dxr", "application/x-director");
116 mimeTypes
.Add ("el", "text/x-script.elisp");
117 mimeTypes
.Add ("elc", "application/x-elc");
118 mimeTypes
.Add ("eps", "application/postscript");
119 mimeTypes
.Add ("es", "application/x-esrehber");
120 mimeTypes
.Add ("etx", "text/x-setext");
121 mimeTypes
.Add ("evy", "application/envoy");
122 mimeTypes
.Add ("f", "text/plain");
123 mimeTypes
.Add ("f77", "text/plain");
124 mimeTypes
.Add ("f90", "text/plain");
125 mimeTypes
.Add ("fdf", "application/vnd.fdf");
126 mimeTypes
.Add ("fif", "image/fif");
127 mimeTypes
.Add ("fli", "video/fli");
128 mimeTypes
.Add ("flo", "image/florian");
129 mimeTypes
.Add ("flx", "text/vnd.fmi.flexstor");
130 mimeTypes
.Add ("fmf", "video/x-atomic3d-feature");
131 mimeTypes
.Add ("for", "text/plain");
132 mimeTypes
.Add ("fpx", "image/vnd.fpx");
133 mimeTypes
.Add ("frl", "application/freeloader");
134 mimeTypes
.Add ("funk", "audio/make");
135 mimeTypes
.Add ("g", "text/plain");
136 mimeTypes
.Add ("g3", "image/g3fax");
137 mimeTypes
.Add ("gif", "image/gif");
138 mimeTypes
.Add ("gl", "video/gl");
139 mimeTypes
.Add ("gsd", "audio/x-gsm");
140 mimeTypes
.Add ("gsm", "audio/x-gsm");
141 mimeTypes
.Add ("gsp", "application/x-gsp");
142 mimeTypes
.Add ("gss", "application/x-gss");
143 mimeTypes
.Add ("gtar", "application/x-gtar");
144 mimeTypes
.Add ("gz", "application/x-gzip");
145 mimeTypes
.Add ("gzip", "application/x-gzip");
146 mimeTypes
.Add ("h", "text/plain");
147 mimeTypes
.Add ("hdf", "application/x-hdf");
148 mimeTypes
.Add ("help", "application/x-helpfile");
149 mimeTypes
.Add ("hgl", "application/vnd.hp-HPGL");
150 mimeTypes
.Add ("hh", "text/plain");
151 mimeTypes
.Add ("hlb", "text/x-script");
152 mimeTypes
.Add ("hlp", "application/x-helpfile");
153 mimeTypes
.Add ("hpg", "application/vnd.hp-HPGL");
154 mimeTypes
.Add ("hpgl", "application/vnd.hp-HPGL");
155 mimeTypes
.Add ("hqx", "application/binhex");
156 mimeTypes
.Add ("hta", "application/hta");
157 mimeTypes
.Add ("htc", "text/x-component");
158 mimeTypes
.Add ("htm", "text/html");
159 mimeTypes
.Add ("html", "text/html");
160 mimeTypes
.Add ("htmls", "text/html");
161 mimeTypes
.Add ("htt", "text/webviewhtml");
162 mimeTypes
.Add ("htx ", "text/html");
163 mimeTypes
.Add ("ice ", "x-conference/x-cooltalk");
164 mimeTypes
.Add ("ico", "image/x-icon");
165 mimeTypes
.Add ("idc", "text/plain");
166 mimeTypes
.Add ("ief", "image/ief");
167 mimeTypes
.Add ("iefs", "image/ief");
168 mimeTypes
.Add ("iges", "application/iges");
169 mimeTypes
.Add ("igs", "application/iges");
170 mimeTypes
.Add ("ima", "application/x-ima");
171 mimeTypes
.Add ("imap", "application/x-httpd-imap");
172 mimeTypes
.Add ("inf ", "application/inf");
173 mimeTypes
.Add ("ins", "application/x-internett-signup");
174 mimeTypes
.Add ("ip ", "application/x-ip2");
175 mimeTypes
.Add ("isu", "video/x-isvideo");
176 mimeTypes
.Add ("it", "audio/it");
177 mimeTypes
.Add ("iv", "application/x-inventor");
178 mimeTypes
.Add ("ivr", "i-world/i-vrml");
179 mimeTypes
.Add ("ivy", "application/x-livescreen");
180 mimeTypes
.Add ("jam ", "audio/x-jam");
181 mimeTypes
.Add ("jav", "text/plain");
182 mimeTypes
.Add ("java", "text/plain");
183 mimeTypes
.Add ("jcm ", "application/x-java-commerce");
184 mimeTypes
.Add ("jfif", "image/jpeg");
185 mimeTypes
.Add ("jfif-tbnl", "image/jpeg");
186 mimeTypes
.Add ("jpe", "image/jpeg");
187 mimeTypes
.Add ("jpeg", "image/jpeg");
188 mimeTypes
.Add ("jps", "image/x-jps");
189 mimeTypes
.Add ("js ", "application/x-javascript");
190 mimeTypes
.Add ("jut", "image/jutvision");
191 mimeTypes
.Add ("kar", "audio/midi");
192 mimeTypes
.Add ("ksh", "text/x-script.ksh");
193 mimeTypes
.Add ("la ", "audio/nspaudio");
194 mimeTypes
.Add ("lam", "audio/x-liveaudio");
195 mimeTypes
.Add ("latex ", "application/x-latex");
196 mimeTypes
.Add ("list", "text/plain");
197 mimeTypes
.Add ("lma", "audio/nspaudio");
198 mimeTypes
.Add ("log ", "text/plain");
199 mimeTypes
.Add ("lsp ", "application/x-lisp");
200 mimeTypes
.Add ("lst ", "text/plain");
201 mimeTypes
.Add ("lsx", "text/x-la-asf");
202 mimeTypes
.Add ("ltx", "application/x-latex");
203 mimeTypes
.Add ("m", "text/plain");
204 mimeTypes
.Add ("m1v", "video/mpeg");
205 mimeTypes
.Add ("m2a", "audio/mpeg");
206 mimeTypes
.Add ("m2v", "video/mpeg");
207 mimeTypes
.Add ("m3u ", "audio/x-mpequrl");
208 mimeTypes
.Add ("man", "application/x-troff-man");
209 mimeTypes
.Add ("map", "application/x-navimap");
210 mimeTypes
.Add ("mar", "text/plain");
211 mimeTypes
.Add ("mbd", "application/mbedlet");
212 mimeTypes
.Add ("mc$", "application/x-magic-cap-package-1.0");
213 mimeTypes
.Add ("mcd", "application/mcad");
214 mimeTypes
.Add ("mcf", "image/vasa");
215 mimeTypes
.Add ("mcp", "application/netmc");
216 mimeTypes
.Add ("me ", "application/x-troff-me");
217 mimeTypes
.Add ("mht", "message/rfc822");
218 mimeTypes
.Add ("mhtml", "message/rfc822");
219 mimeTypes
.Add ("mid", "audio/midi");
220 mimeTypes
.Add ("midi", "audio/midi");
221 mimeTypes
.Add ("mif", "application/x-mif");
222 mimeTypes
.Add ("mime ", "message/rfc822");
223 mimeTypes
.Add ("mjf", "audio/x-vnd.AudioExplosion.MjuiceMediaFile");
224 mimeTypes
.Add ("mjpg ", "video/x-motion-jpeg");
225 mimeTypes
.Add ("mm", "application/base64");
226 mimeTypes
.Add ("mme", "application/base64");
227 mimeTypes
.Add ("mod", "audio/mod");
228 mimeTypes
.Add ("moov", "video/quicktime");
229 mimeTypes
.Add ("mov", "video/quicktime");
230 mimeTypes
.Add ("movie", "video/x-sgi-movie");
231 mimeTypes
.Add ("mp2", "video/mpeg");
232 mimeTypes
.Add ("mp3", "audio/mpeg3");
233 mimeTypes
.Add ("mpa", "audio/mpeg");
234 mimeTypes
.Add ("mpc", "application/x-project");
235 mimeTypes
.Add ("mpe", "video/mpeg");
236 mimeTypes
.Add ("mpeg", "video/mpeg");
237 mimeTypes
.Add ("mpg", "video/mpeg");
238 mimeTypes
.Add ("mpga", "audio/mpeg");
239 mimeTypes
.Add ("mpp", "application/vnd.ms-project");
240 mimeTypes
.Add ("mpt", "application/x-project");
241 mimeTypes
.Add ("mpv", "application/x-project");
242 mimeTypes
.Add ("mpx", "application/x-project");
243 mimeTypes
.Add ("mrc", "application/marc");
244 mimeTypes
.Add ("ms", "application/x-troff-ms");
245 mimeTypes
.Add ("mv", "video/x-sgi-movie");
246 mimeTypes
.Add ("my", "audio/make");
247 mimeTypes
.Add ("mzz", "application/x-vnd.AudioExplosion.mzz");
248 mimeTypes
.Add ("nap", "image/naplps");
249 mimeTypes
.Add ("naplps", "image/naplps");
250 mimeTypes
.Add ("nc", "application/x-netcdf");
251 mimeTypes
.Add ("ncm", "application/vnd.nokia.configuration-message");
252 mimeTypes
.Add ("nif", "image/x-niff");
253 mimeTypes
.Add ("niff", "image/x-niff");
254 mimeTypes
.Add ("nix", "application/x-mix-transfer");
255 mimeTypes
.Add ("nsc", "application/x-conference");
256 mimeTypes
.Add ("nvd", "application/x-navidoc");
257 mimeTypes
.Add ("oda", "application/oda");
258 mimeTypes
.Add ("omc", "application/x-omc");
259 mimeTypes
.Add ("omcd", "application/x-omcdatamaker");
260 mimeTypes
.Add ("omcr", "application/x-omcregerator");
261 mimeTypes
.Add ("p", "text/x-pascal");
262 mimeTypes
.Add ("p10", "application/pkcs10");
263 mimeTypes
.Add ("p12", "application/pkcs-12");
264 mimeTypes
.Add ("p7a", "application/x-pkcs7-signature");
265 mimeTypes
.Add ("p7c", "application/pkcs7-mime");
266 mimeTypes
.Add ("p7m", "application/pkcs7-mime");
267 mimeTypes
.Add ("p7r", "application/x-pkcs7-certreqresp");
268 mimeTypes
.Add ("p7s", "application/pkcs7-signature");
269 mimeTypes
.Add ("part ", "application/pro_eng");
270 mimeTypes
.Add ("pas", "text/pascal");
271 mimeTypes
.Add ("pbm ", "image/x-portable-bitmap");
272 mimeTypes
.Add ("pcl", "application/x-pcl");
273 mimeTypes
.Add ("pct", "image/x-pict");
274 mimeTypes
.Add ("pcx", "image/x-pcx");
275 mimeTypes
.Add ("pdb", "chemical/x-pdb");
276 mimeTypes
.Add ("pdf", "application/pdf");
277 mimeTypes
.Add ("pfunk", "audio/make");
278 mimeTypes
.Add ("pgm", "image/x-portable-graymap");
279 mimeTypes
.Add ("pic", "image/pict");
280 mimeTypes
.Add ("pict", "image/pict");
281 mimeTypes
.Add ("pkg", "application/x-newton-compatible-pkg");
282 mimeTypes
.Add ("pko", "application/vnd.ms-pki.pko");
283 mimeTypes
.Add ("pl", "text/plain");
284 mimeTypes
.Add ("plx", "application/x-PiXCLscript");
285 mimeTypes
.Add ("pm", "image/x-xpixmap");
286 mimeTypes
.Add ("pm4 ", "application/x-pagemaker");
287 mimeTypes
.Add ("pm5", "application/x-pagemaker");
288 mimeTypes
.Add ("png", "image/png");
289 mimeTypes
.Add ("pnm", "application/x-portable-anymap");
290 mimeTypes
.Add ("pot", "application/mspowerpoint");
291 mimeTypes
.Add ("pov", "model/x-pov");
292 mimeTypes
.Add ("ppa", "application/vnd.ms-powerpoint");
293 mimeTypes
.Add ("ppm", "image/x-portable-pixmap");
294 mimeTypes
.Add ("pps", "application/mspowerpoint");
295 mimeTypes
.Add ("ppt", "application/mspowerpoint");
296 mimeTypes
.Add ("ppz", "application/mspowerpoint");
297 mimeTypes
.Add ("pre", "application/x-freelance");
298 mimeTypes
.Add ("prt", "application/pro_eng");
299 mimeTypes
.Add ("ps", "application/postscript");
300 mimeTypes
.Add ("pvu", "paleovu/x-pv");
301 mimeTypes
.Add ("pwz ", "application/vnd.ms-powerpoint");
302 mimeTypes
.Add ("py ", "text/x-script.phyton");
303 mimeTypes
.Add ("pyc ", "applicaiton/x-bytecode.python");
304 mimeTypes
.Add ("qcp ", "audio/vnd.qcelp");
305 mimeTypes
.Add ("qd3 ", "x-world/x-3dmf");
306 mimeTypes
.Add ("qd3d ", "x-world/x-3dmf");
307 mimeTypes
.Add ("qif", "image/x-quicktime");
308 mimeTypes
.Add ("qt", "video/quicktime");
309 mimeTypes
.Add ("qtc", "video/x-qtc");
310 mimeTypes
.Add ("qti", "image/x-quicktime");
311 mimeTypes
.Add ("qtif", "image/x-quicktime");
312 mimeTypes
.Add ("ra", "audio/x-pn-realaudio");
313 mimeTypes
.Add ("ram", "audio/x-pn-realaudio");
314 mimeTypes
.Add ("ras", "application/x-cmu-raster");
315 mimeTypes
.Add ("rast", "image/cmu-raster");
316 mimeTypes
.Add ("rexx ", "text/x-script.rexx");
317 mimeTypes
.Add ("rf", "image/vnd.rn-realflash");
318 mimeTypes
.Add ("rgb ", "image/x-rgb");
319 mimeTypes
.Add ("rm", "application/vnd.rn-realmedia");
320 mimeTypes
.Add ("rmi", "audio/mid");
321 mimeTypes
.Add ("rmm ", "audio/x-pn-realaudio");
322 mimeTypes
.Add ("rmp", "audio/x-pn-realaudio");
323 mimeTypes
.Add ("rng", "application/ringing-tones");
324 mimeTypes
.Add ("rnx ", "application/vnd.rn-realplayer");
325 mimeTypes
.Add ("roff", "application/x-troff");
326 mimeTypes
.Add ("rp ", "image/vnd.rn-realpix");
327 mimeTypes
.Add ("rpm", "audio/x-pn-realaudio-plugin");
328 mimeTypes
.Add ("rss", "text/xml");
329 mimeTypes
.Add ("rt", "text/richtext");
330 mimeTypes
.Add ("rtf", "text/richtext");
331 mimeTypes
.Add ("rtx", "text/richtext");
332 mimeTypes
.Add ("rv", "video/vnd.rn-realvideo");
333 mimeTypes
.Add ("s", "text/x-asm");
334 mimeTypes
.Add ("s3m ", "audio/s3m");
335 mimeTypes
.Add ("sbk ", "application/x-tbook");
336 mimeTypes
.Add ("scm", "application/x-lotusscreencam");
337 mimeTypes
.Add ("sdml", "text/plain");
338 mimeTypes
.Add ("sdp ", "application/sdp");
339 mimeTypes
.Add ("sdr", "application/sounder");
340 mimeTypes
.Add ("sea", "application/sea");
341 mimeTypes
.Add ("set", "application/set");
342 mimeTypes
.Add ("sgm ", "text/sgml");
343 mimeTypes
.Add ("sgml", "text/sgml");
344 mimeTypes
.Add ("sh", "text/x-script.sh");
345 mimeTypes
.Add ("shar", "application/x-bsh");
346 mimeTypes
.Add ("shtml ", "text/html");
347 mimeTypes
.Add ("sid", "audio/x-psid");
348 mimeTypes
.Add ("sit", "application/x-sit");
349 mimeTypes
.Add ("skd", "application/x-koan");
350 mimeTypes
.Add ("skm ", "application/x-koan");
351 mimeTypes
.Add ("skp ", "application/x-koan");
352 mimeTypes
.Add ("skt ", "application/x-koan");
353 mimeTypes
.Add ("sl ", "application/x-seelogo");
354 mimeTypes
.Add ("smi ", "application/smil");
355 mimeTypes
.Add ("smil ", "application/smil");
356 mimeTypes
.Add ("snd", "audio/basic");
357 mimeTypes
.Add ("sol", "application/solids");
358 mimeTypes
.Add ("spc ", "application/x-pkcs7-certificates");
359 mimeTypes
.Add ("spl", "application/futuresplash");
360 mimeTypes
.Add ("spr", "application/x-sprite");
361 mimeTypes
.Add ("sprite ", "application/x-sprite");
362 mimeTypes
.Add ("src", "application/x-wais-source");
363 mimeTypes
.Add ("ssi", "text/x-server-parsed-html");
364 mimeTypes
.Add ("ssm ", "application/streamingmedia");
365 mimeTypes
.Add ("sst", "application/vnd.ms-pki.certstore");
366 mimeTypes
.Add ("step", "application/step");
367 mimeTypes
.Add ("stl", "application/sla");
368 mimeTypes
.Add ("stp", "application/step");
369 mimeTypes
.Add ("sv4cpio", "application/x-sv4cpio");
370 mimeTypes
.Add ("sv4crc", "application/x-sv4crc");
371 mimeTypes
.Add ("svf", "image/x-dwg");
372 mimeTypes
.Add ("svr", "application/x-world");
373 mimeTypes
.Add ("swf", "application/x-shockwave-flash");
374 mimeTypes
.Add ("t", "application/x-troff");
375 mimeTypes
.Add ("talk", "text/x-speech");
376 mimeTypes
.Add ("tar", "application/x-tar");
377 mimeTypes
.Add ("tbk", "application/toolbook");
378 mimeTypes
.Add ("tcl", "text/x-script.tcl");
379 mimeTypes
.Add ("tcsh", "text/x-script.tcsh");
380 mimeTypes
.Add ("tex", "application/x-tex");
381 mimeTypes
.Add ("texi", "application/x-texinfo");
382 mimeTypes
.Add ("texinfo", "application/x-texinfo");
383 mimeTypes
.Add ("text", "text/plain");
384 mimeTypes
.Add ("tgz", "application/x-compressed");
385 mimeTypes
.Add ("tif", "image/tiff");
386 mimeTypes
.Add ("tiff", "image/tiff");
387 mimeTypes
.Add ("tr", "application/x-troff");
388 mimeTypes
.Add ("tsi", "audio/tsp-audio");
389 mimeTypes
.Add ("tsp", "audio/tsplayer");
390 mimeTypes
.Add ("tsv", "text/tab-separated-values");
391 mimeTypes
.Add ("turbot", "image/florian");
392 mimeTypes
.Add ("txt", "text/plain");
393 mimeTypes
.Add ("uil", "text/x-uil");
394 mimeTypes
.Add ("uni", "text/uri-list");
395 mimeTypes
.Add ("unis", "text/uri-list");
396 mimeTypes
.Add ("unv", "application/i-deas");
397 mimeTypes
.Add ("uri", "text/uri-list");
398 mimeTypes
.Add ("uris", "text/uri-list");
399 mimeTypes
.Add ("ustar", "multipart/x-ustar");
400 mimeTypes
.Add ("uu", "text/x-uuencode");
401 mimeTypes
.Add ("uue", "text/x-uuencode");
402 mimeTypes
.Add ("vcd", "application/x-cdlink");
403 mimeTypes
.Add ("vcs", "text/x-vCalendar");
404 mimeTypes
.Add ("vda", "application/vda");
405 mimeTypes
.Add ("vdo", "video/vdo");
406 mimeTypes
.Add ("vew ", "application/groupwise");
407 mimeTypes
.Add ("viv", "video/vivo");
408 mimeTypes
.Add ("vivo", "video/vivo");
409 mimeTypes
.Add ("vmd ", "application/vocaltec-media-desc");
410 mimeTypes
.Add ("vmf", "application/vocaltec-media-file");
411 mimeTypes
.Add ("voc", "audio/voc");
412 mimeTypes
.Add ("vos", "video/vosaic");
413 mimeTypes
.Add ("vox", "audio/voxware");
414 mimeTypes
.Add ("vqe", "audio/x-twinvq-plugin");
415 mimeTypes
.Add ("vqf", "audio/x-twinvq");
416 mimeTypes
.Add ("vql", "audio/x-twinvq-plugin");
417 mimeTypes
.Add ("vrml", "application/x-vrml");
418 mimeTypes
.Add ("vrt", "x-world/x-vrt");
419 mimeTypes
.Add ("vsd", "application/x-visio");
420 mimeTypes
.Add ("vst", "application/x-visio");
421 mimeTypes
.Add ("vsw ", "application/x-visio");
422 mimeTypes
.Add ("w60", "application/wordperfect6.0");
423 mimeTypes
.Add ("w61", "application/wordperfect6.1");
424 mimeTypes
.Add ("w6w", "application/msword");
425 mimeTypes
.Add ("wav", "audio/wav");
426 mimeTypes
.Add ("wb1", "application/x-qpro");
427 mimeTypes
.Add ("wbmp", "image/vnd.wap.wbmp");
428 mimeTypes
.Add ("web", "application/vnd.xara");
429 mimeTypes
.Add ("wiz", "application/msword");
430 mimeTypes
.Add ("wk1", "application/x-123");
431 mimeTypes
.Add ("wmf", "windows/metafile");
432 mimeTypes
.Add ("wml", "text/vnd.wap.wml");
433 mimeTypes
.Add ("wmlc ", "application/vnd.wap.wmlc");
434 mimeTypes
.Add ("wmls", "text/vnd.wap.wmlscript");
435 mimeTypes
.Add ("wmlsc ", "application/vnd.wap.wmlscriptc");
436 mimeTypes
.Add ("word ", "application/msword");
437 mimeTypes
.Add ("wp", "application/wordperfect");
438 mimeTypes
.Add ("wp5", "application/wordperfect");
439 mimeTypes
.Add ("wp6 ", "application/wordperfect");
440 mimeTypes
.Add ("wpd", "application/wordperfect");
441 mimeTypes
.Add ("wq1", "application/x-lotus");
442 mimeTypes
.Add ("wri", "application/mswrite");
443 mimeTypes
.Add ("wrl", "application/x-world");
444 mimeTypes
.Add ("wrz", "model/vrml");
445 mimeTypes
.Add ("wsc", "text/scriplet");
446 mimeTypes
.Add ("wsrc", "application/x-wais-source");
447 mimeTypes
.Add ("wtk ", "application/x-wintalk");
448 mimeTypes
.Add ("xbm", "image/x-xbitmap");
449 mimeTypes
.Add ("xdr", "video/x-amt-demorun");
450 mimeTypes
.Add ("xgz", "xgl/drawing");
451 mimeTypes
.Add ("xif", "image/vnd.xiff");
452 mimeTypes
.Add ("xl", "application/excel");
453 mimeTypes
.Add ("xla", "application/excel");
454 mimeTypes
.Add ("xlb", "application/excel");
455 mimeTypes
.Add ("xlc", "application/excel");
456 mimeTypes
.Add ("xld ", "application/excel");
457 mimeTypes
.Add ("xlk", "application/excel");
458 mimeTypes
.Add ("xll", "application/excel");
459 mimeTypes
.Add ("xlm", "application/excel");
460 mimeTypes
.Add ("xls", "application/excel");
461 mimeTypes
.Add ("xlt", "application/excel");
462 mimeTypes
.Add ("xlv", "application/excel");
463 mimeTypes
.Add ("xlw", "application/excel");
464 mimeTypes
.Add ("xm", "audio/xm");
465 mimeTypes
.Add ("xml", "text/xml");
466 mimeTypes
.Add ("xmz", "xgl/movie");
467 mimeTypes
.Add ("xpix", "application/x-vnd.ls-xpix");
468 mimeTypes
.Add ("xpm", "image/xpm");
469 mimeTypes
.Add ("x-png", "image/png");
470 mimeTypes
.Add ("xsr", "video/x-amt-showrun");
471 mimeTypes
.Add ("xwd", "image/x-xwd");
472 mimeTypes
.Add ("xyz", "chemical/x-pdb");
473 mimeTypes
.Add ("z", "application/x-compressed");
474 mimeTypes
.Add ("zip", "application/zip");
475 mimeTypes
.Add ("zsh", "text/x-script.zsh");
478 public static string GetMimeType (string fileName
)
480 string result
= null;
481 int dot
= fileName
.LastIndexOf ('.');
483 if (dot
!= -1 && fileName
.Length
> dot
+ 1)
484 result
= mimeTypes
[fileName
.Substring (dot
+ 1)] as string;
487 result
= "application/octet-stream";