1+ using System ;
2+ using System . Collections ;
3+
4+ namespace CnBlogPublishTool
5+ {
6+ public class MimeMapping
7+ {
8+ private static Hashtable _mimeMappingTable ;
9+
10+ private static void AddMimeMapping ( string extension , string MimeType )
11+ {
12+ MimeMapping . _mimeMappingTable . Add ( extension , MimeType ) ;
13+ }
14+
15+ public static string GetMimeMapping ( string FileName )
16+ {
17+ string text = null ;
18+ int num = FileName . LastIndexOf ( '.' ) ;
19+ if ( 0 < num && num > FileName . LastIndexOf ( '\\ ' ) )
20+ {
21+ text = ( string ) MimeMapping . _mimeMappingTable [ FileName . Substring ( num ) ] ;
22+ }
23+ if ( text == null )
24+ {
25+ text = ( string ) MimeMapping . _mimeMappingTable [ ".*" ] ;
26+ }
27+ return text ;
28+ }
29+
30+ static MimeMapping ( )
31+ {
32+ MimeMapping . _mimeMappingTable = new Hashtable ( 190 , StringComparer . CurrentCultureIgnoreCase ) ;
33+ MimeMapping . AddMimeMapping ( ".323" , "text/h323" ) ;
34+ MimeMapping . AddMimeMapping ( ".asx" , "video/x-ms-asf" ) ;
35+ MimeMapping . AddMimeMapping ( ".acx" , "application/internet-property-stream" ) ;
36+ MimeMapping . AddMimeMapping ( ".ai" , "application/postscript" ) ;
37+ MimeMapping . AddMimeMapping ( ".aif" , "audio/x-aiff" ) ;
38+ MimeMapping . AddMimeMapping ( ".aiff" , "audio/aiff" ) ;
39+ MimeMapping . AddMimeMapping ( ".axs" , "application/olescript" ) ;
40+ MimeMapping . AddMimeMapping ( ".aifc" , "audio/aiff" ) ;
41+ MimeMapping . AddMimeMapping ( ".asr" , "video/x-ms-asf" ) ;
42+ MimeMapping . AddMimeMapping ( ".avi" , "video/x-msvideo" ) ;
43+ MimeMapping . AddMimeMapping ( ".asf" , "video/x-ms-asf" ) ;
44+ MimeMapping . AddMimeMapping ( ".au" , "audio/basic" ) ;
45+ MimeMapping . AddMimeMapping ( ".application" , "application/x-ms-application" ) ;
46+ MimeMapping . AddMimeMapping ( ".bin" , "application/octet-stream" ) ;
47+ MimeMapping . AddMimeMapping ( ".bas" , "text/plain" ) ;
48+ MimeMapping . AddMimeMapping ( ".bcpio" , "application/x-bcpio" ) ;
49+ MimeMapping . AddMimeMapping ( ".bmp" , "image/bmp" ) ;
50+ MimeMapping . AddMimeMapping ( ".cdf" , "application/x-cdf" ) ;
51+ MimeMapping . AddMimeMapping ( ".cat" , "application/vndms-pkiseccat" ) ;
52+ MimeMapping . AddMimeMapping ( ".crt" , "application/x-x509-ca-cert" ) ;
53+ MimeMapping . AddMimeMapping ( ".c" , "text/plain" ) ;
54+ MimeMapping . AddMimeMapping ( ".css" , "text/css" ) ;
55+ MimeMapping . AddMimeMapping ( ".cer" , "application/x-x509-ca-cert" ) ;
56+ MimeMapping . AddMimeMapping ( ".crl" , "application/pkix-crl" ) ;
57+ MimeMapping . AddMimeMapping ( ".cmx" , "image/x-cmx" ) ;
58+ MimeMapping . AddMimeMapping ( ".csh" , "application/x-csh" ) ;
59+ MimeMapping . AddMimeMapping ( ".cod" , "image/cis-cod" ) ;
60+ MimeMapping . AddMimeMapping ( ".cpio" , "application/x-cpio" ) ;
61+ MimeMapping . AddMimeMapping ( ".clp" , "application/x-msclip" ) ;
62+ MimeMapping . AddMimeMapping ( ".crd" , "application/x-mscardfile" ) ;
63+ MimeMapping . AddMimeMapping ( ".deploy" , "application/octet-stream" ) ;
64+ MimeMapping . AddMimeMapping ( ".dll" , "application/x-msdownload" ) ;
65+ MimeMapping . AddMimeMapping ( ".dot" , "application/msword" ) ;
66+ MimeMapping . AddMimeMapping ( ".doc" , "application/msword" ) ;
67+ MimeMapping . AddMimeMapping ( ".dvi" , "application/x-dvi" ) ;
68+ MimeMapping . AddMimeMapping ( ".dir" , "application/x-director" ) ;
69+ MimeMapping . AddMimeMapping ( ".dxr" , "application/x-director" ) ;
70+ MimeMapping . AddMimeMapping ( ".der" , "application/x-x509-ca-cert" ) ;
71+ MimeMapping . AddMimeMapping ( ".dib" , "image/bmp" ) ;
72+ MimeMapping . AddMimeMapping ( ".dcr" , "application/x-director" ) ;
73+ MimeMapping . AddMimeMapping ( ".disco" , "text/xml" ) ;
74+ MimeMapping . AddMimeMapping ( ".exe" , "application/octet-stream" ) ;
75+ MimeMapping . AddMimeMapping ( ".etx" , "text/x-setext" ) ;
76+ MimeMapping . AddMimeMapping ( ".evy" , "application/envoy" ) ;
77+ MimeMapping . AddMimeMapping ( ".eml" , "message/rfc822" ) ;
78+ MimeMapping . AddMimeMapping ( ".eps" , "application/postscript" ) ;
79+ MimeMapping . AddMimeMapping ( ".flr" , "x-world/x-vrml" ) ;
80+ MimeMapping . AddMimeMapping ( ".fif" , "application/fractals" ) ;
81+ MimeMapping . AddMimeMapping ( ".gtar" , "application/x-gtar" ) ;
82+ MimeMapping . AddMimeMapping ( ".gif" , "image/gif" ) ;
83+ MimeMapping . AddMimeMapping ( ".gz" , "application/x-gzip" ) ;
84+ MimeMapping . AddMimeMapping ( ".hta" , "application/hta" ) ;
85+ MimeMapping . AddMimeMapping ( ".htc" , "text/x-component" ) ;
86+ MimeMapping . AddMimeMapping ( ".htt" , "text/webviewhtml" ) ;
87+ MimeMapping . AddMimeMapping ( ".h" , "text/plain" ) ;
88+ MimeMapping . AddMimeMapping ( ".hdf" , "application/x-hdf" ) ;
89+ MimeMapping . AddMimeMapping ( ".hlp" , "application/winhlp" ) ;
90+ MimeMapping . AddMimeMapping ( ".html" , "text/html" ) ;
91+ MimeMapping . AddMimeMapping ( ".htm" , "text/html" ) ;
92+ MimeMapping . AddMimeMapping ( ".hqx" , "application/mac-binhex40" ) ;
93+ MimeMapping . AddMimeMapping ( ".isp" , "application/x-internet-signup" ) ;
94+ MimeMapping . AddMimeMapping ( ".iii" , "application/x-iphone" ) ;
95+ MimeMapping . AddMimeMapping ( ".ief" , "image/ief" ) ;
96+ MimeMapping . AddMimeMapping ( ".ivf" , "video/x-ivf" ) ;
97+ MimeMapping . AddMimeMapping ( ".ins" , "application/x-internet-signup" ) ;
98+ MimeMapping . AddMimeMapping ( ".ico" , "image/x-icon" ) ;
99+ MimeMapping . AddMimeMapping ( ".jpg" , "image/jpeg" ) ;
100+ MimeMapping . AddMimeMapping ( ".jfif" , "image/pjpeg" ) ;
101+ MimeMapping . AddMimeMapping ( ".jpe" , "image/jpeg" ) ;
102+ MimeMapping . AddMimeMapping ( ".jpeg" , "image/jpeg" ) ;
103+ MimeMapping . AddMimeMapping ( ".js" , "application/x-javascript" ) ;
104+ MimeMapping . AddMimeMapping ( ".lsx" , "video/x-la-asf" ) ;
105+ MimeMapping . AddMimeMapping ( ".latex" , "application/x-latex" ) ;
106+ MimeMapping . AddMimeMapping ( ".lsf" , "video/x-la-asf" ) ;
107+ MimeMapping . AddMimeMapping ( ".manifest" , "application/x-ms-manifest" ) ;
108+ MimeMapping . AddMimeMapping ( ".mhtml" , "message/rfc822" ) ;
109+ MimeMapping . AddMimeMapping ( ".mny" , "application/x-msmoney" ) ;
110+ MimeMapping . AddMimeMapping ( ".mht" , "message/rfc822" ) ;
111+ MimeMapping . AddMimeMapping ( ".mid" , "audio/mid" ) ;
112+ MimeMapping . AddMimeMapping ( ".mpv2" , "video/mpeg" ) ;
113+ MimeMapping . AddMimeMapping ( ".man" , "application/x-troff-man" ) ;
114+ MimeMapping . AddMimeMapping ( ".mvb" , "application/x-msmediaview" ) ;
115+ MimeMapping . AddMimeMapping ( ".mpeg" , "video/mpeg" ) ;
116+ MimeMapping . AddMimeMapping ( ".m3u" , "audio/x-mpegurl" ) ;
117+ MimeMapping . AddMimeMapping ( ".mdb" , "application/x-msaccess" ) ;
118+ MimeMapping . AddMimeMapping ( ".mpp" , "application/vnd.ms-project" ) ;
119+ MimeMapping . AddMimeMapping ( ".m1v" , "video/mpeg" ) ;
120+ MimeMapping . AddMimeMapping ( ".mpa" , "video/mpeg" ) ;
121+ MimeMapping . AddMimeMapping ( ".me" , "application/x-troff-me" ) ;
122+ MimeMapping . AddMimeMapping ( ".m13" , "application/x-msmediaview" ) ;
123+ MimeMapping . AddMimeMapping ( ".movie" , "video/x-sgi-movie" ) ;
124+ MimeMapping . AddMimeMapping ( ".m14" , "application/x-msmediaview" ) ;
125+ MimeMapping . AddMimeMapping ( ".mpe" , "video/mpeg" ) ;
126+ MimeMapping . AddMimeMapping ( ".mp2" , "video/mpeg" ) ;
127+ MimeMapping . AddMimeMapping ( ".mov" , "video/quicktime" ) ;
128+ MimeMapping . AddMimeMapping ( ".mp3" , "audio/mpeg" ) ;
129+ MimeMapping . AddMimeMapping ( ".mpg" , "video/mpeg" ) ;
130+ MimeMapping . AddMimeMapping ( ".ms" , "application/x-troff-ms" ) ;
131+ MimeMapping . AddMimeMapping ( ".nc" , "application/x-netcdf" ) ;
132+ MimeMapping . AddMimeMapping ( ".nws" , "message/rfc822" ) ;
133+ MimeMapping . AddMimeMapping ( ".oda" , "application/oda" ) ;
134+ MimeMapping . AddMimeMapping ( ".ods" , "application/oleobject" ) ;
135+ MimeMapping . AddMimeMapping ( ".pmc" , "application/x-perfmon" ) ;
136+ MimeMapping . AddMimeMapping ( ".p7r" , "application/x-pkcs7-certreqresp" ) ;
137+ MimeMapping . AddMimeMapping ( ".p7b" , "application/x-pkcs7-certificates" ) ;
138+ MimeMapping . AddMimeMapping ( ".p7s" , "application/pkcs7-signature" ) ;
139+ MimeMapping . AddMimeMapping ( ".pmw" , "application/x-perfmon" ) ;
140+ MimeMapping . AddMimeMapping ( ".ps" , "application/postscript" ) ;
141+ MimeMapping . AddMimeMapping ( ".p7c" , "application/pkcs7-mime" ) ;
142+ MimeMapping . AddMimeMapping ( ".pbm" , "image/x-portable-bitmap" ) ;
143+ MimeMapping . AddMimeMapping ( ".ppm" , "image/x-portable-pixmap" ) ;
144+ MimeMapping . AddMimeMapping ( ".pub" , "application/x-mspublisher" ) ;
145+ MimeMapping . AddMimeMapping ( ".pnm" , "image/x-portable-anymap" ) ;
146+ MimeMapping . AddMimeMapping ( ".png" , "image/png" ) ;
147+ MimeMapping . AddMimeMapping ( ".pml" , "application/x-perfmon" ) ;
148+ MimeMapping . AddMimeMapping ( ".p10" , "application/pkcs10" ) ;
149+ MimeMapping . AddMimeMapping ( ".pfx" , "application/x-pkcs12" ) ;
150+ MimeMapping . AddMimeMapping ( ".p12" , "application/x-pkcs12" ) ;
151+ MimeMapping . AddMimeMapping ( ".pdf" , "application/pdf" ) ;
152+ MimeMapping . AddMimeMapping ( ".pps" , "application/vnd.ms-powerpoint" ) ;
153+ MimeMapping . AddMimeMapping ( ".p7m" , "application/pkcs7-mime" ) ;
154+ MimeMapping . AddMimeMapping ( ".pko" , "application/vndms-pkipko" ) ;
155+ MimeMapping . AddMimeMapping ( ".ppt" , "application/vnd.ms-powerpoint" ) ;
156+ MimeMapping . AddMimeMapping ( ".pmr" , "application/x-perfmon" ) ;
157+ MimeMapping . AddMimeMapping ( ".pma" , "application/x-perfmon" ) ;
158+ MimeMapping . AddMimeMapping ( ".pot" , "application/vnd.ms-powerpoint" ) ;
159+ MimeMapping . AddMimeMapping ( ".prf" , "application/pics-rules" ) ;
160+ MimeMapping . AddMimeMapping ( ".pgm" , "image/x-portable-graymap" ) ;
161+ MimeMapping . AddMimeMapping ( ".qt" , "video/quicktime" ) ;
162+ MimeMapping . AddMimeMapping ( ".ra" , "audio/x-pn-realaudio" ) ;
163+ MimeMapping . AddMimeMapping ( ".rgb" , "image/x-rgb" ) ;
164+ MimeMapping . AddMimeMapping ( ".ram" , "audio/x-pn-realaudio" ) ;
165+ MimeMapping . AddMimeMapping ( ".rmi" , "audio/mid" ) ;
166+ MimeMapping . AddMimeMapping ( ".ras" , "image/x-cmu-raster" ) ;
167+ MimeMapping . AddMimeMapping ( ".roff" , "application/x-troff" ) ;
168+ MimeMapping . AddMimeMapping ( ".rtf" , "application/rtf" ) ;
169+ MimeMapping . AddMimeMapping ( ".rtx" , "text/richtext" ) ;
170+ MimeMapping . AddMimeMapping ( ".sv4crc" , "application/x-sv4crc" ) ;
171+ MimeMapping . AddMimeMapping ( ".spc" , "application/x-pkcs7-certificates" ) ;
172+ MimeMapping . AddMimeMapping ( ".setreg" , "application/set-registration-initiation" ) ;
173+ MimeMapping . AddMimeMapping ( ".snd" , "audio/basic" ) ;
174+ MimeMapping . AddMimeMapping ( ".stl" , "application/vndms-pkistl" ) ;
175+ MimeMapping . AddMimeMapping ( ".setpay" , "application/set-payment-initiation" ) ;
176+ MimeMapping . AddMimeMapping ( ".stm" , "text/html" ) ;
177+ MimeMapping . AddMimeMapping ( ".shar" , "application/x-shar" ) ;
178+ MimeMapping . AddMimeMapping ( ".sh" , "application/x-sh" ) ;
179+ MimeMapping . AddMimeMapping ( ".sit" , "application/x-stuffit" ) ;
180+ MimeMapping . AddMimeMapping ( ".spl" , "application/futuresplash" ) ;
181+ MimeMapping . AddMimeMapping ( ".sct" , "text/scriptlet" ) ;
182+ MimeMapping . AddMimeMapping ( ".scd" , "application/x-msschedule" ) ;
183+ MimeMapping . AddMimeMapping ( ".sst" , "application/vndms-pkicertstore" ) ;
184+ MimeMapping . AddMimeMapping ( ".src" , "application/x-wais-source" ) ;
185+ MimeMapping . AddMimeMapping ( ".sv4cpio" , "application/x-sv4cpio" ) ;
186+ MimeMapping . AddMimeMapping ( ".tex" , "application/x-tex" ) ;
187+ MimeMapping . AddMimeMapping ( ".tgz" , "application/x-compressed" ) ;
188+ MimeMapping . AddMimeMapping ( ".t" , "application/x-troff" ) ;
189+ MimeMapping . AddMimeMapping ( ".tar" , "application/x-tar" ) ;
190+ MimeMapping . AddMimeMapping ( ".tr" , "application/x-troff" ) ;
191+ MimeMapping . AddMimeMapping ( ".tif" , "image/tiff" ) ;
192+ MimeMapping . AddMimeMapping ( ".txt" , "text/plain" ) ;
193+ MimeMapping . AddMimeMapping ( ".texinfo" , "application/x-texinfo" ) ;
194+ MimeMapping . AddMimeMapping ( ".trm" , "application/x-msterminal" ) ;
195+ MimeMapping . AddMimeMapping ( ".tiff" , "image/tiff" ) ;
196+ MimeMapping . AddMimeMapping ( ".tcl" , "application/x-tcl" ) ;
197+ MimeMapping . AddMimeMapping ( ".texi" , "application/x-texinfo" ) ;
198+ MimeMapping . AddMimeMapping ( ".tsv" , "text/tab-separated-values" ) ;
199+ MimeMapping . AddMimeMapping ( ".ustar" , "application/x-ustar" ) ;
200+ MimeMapping . AddMimeMapping ( ".uls" , "text/iuls" ) ;
201+ MimeMapping . AddMimeMapping ( ".vcf" , "text/x-vcard" ) ;
202+ MimeMapping . AddMimeMapping ( ".wps" , "application/vnd.ms-works" ) ;
203+ MimeMapping . AddMimeMapping ( ".wav" , "audio/wav" ) ;
204+ MimeMapping . AddMimeMapping ( ".wrz" , "x-world/x-vrml" ) ;
205+ MimeMapping . AddMimeMapping ( ".wri" , "application/x-mswrite" ) ;
206+ MimeMapping . AddMimeMapping ( ".wks" , "application/vnd.ms-works" ) ;
207+ MimeMapping . AddMimeMapping ( ".wmf" , "application/x-msmetafile" ) ;
208+ MimeMapping . AddMimeMapping ( ".wcm" , "application/vnd.ms-works" ) ;
209+ MimeMapping . AddMimeMapping ( ".wrl" , "x-world/x-vrml" ) ;
210+ MimeMapping . AddMimeMapping ( ".wdb" , "application/vnd.ms-works" ) ;
211+ MimeMapping . AddMimeMapping ( ".wsdl" , "text/xml" ) ;
212+ MimeMapping . AddMimeMapping ( ".xap" , "application/x-silverlight-app" ) ;
213+ MimeMapping . AddMimeMapping ( ".xml" , "text/xml" ) ;
214+ MimeMapping . AddMimeMapping ( ".xlm" , "application/vnd.ms-excel" ) ;
215+ MimeMapping . AddMimeMapping ( ".xaf" , "x-world/x-vrml" ) ;
216+ MimeMapping . AddMimeMapping ( ".xla" , "application/vnd.ms-excel" ) ;
217+ MimeMapping . AddMimeMapping ( ".xls" , "application/vnd.ms-excel" ) ;
218+ MimeMapping . AddMimeMapping ( ".xof" , "x-world/x-vrml" ) ;
219+ MimeMapping . AddMimeMapping ( ".xlt" , "application/vnd.ms-excel" ) ;
220+ MimeMapping . AddMimeMapping ( ".xlc" , "application/vnd.ms-excel" ) ;
221+ MimeMapping . AddMimeMapping ( ".xsl" , "text/xml" ) ;
222+ MimeMapping . AddMimeMapping ( ".xbm" , "image/x-xbitmap" ) ;
223+ MimeMapping . AddMimeMapping ( ".xlw" , "application/vnd.ms-excel" ) ;
224+ MimeMapping . AddMimeMapping ( ".xpm" , "image/x-xpixmap" ) ;
225+ MimeMapping . AddMimeMapping ( ".xwd" , "image/x-xwindowdump" ) ;
226+ MimeMapping . AddMimeMapping ( ".xsd" , "text/xml" ) ;
227+ MimeMapping . AddMimeMapping ( ".z" , "application/x-compress" ) ;
228+ MimeMapping . AddMimeMapping ( ".zip" , "application/x-zip-compressed" ) ;
229+ MimeMapping . AddMimeMapping ( ".*" , "application/octet-stream" ) ;
230+ }
231+ }
232+ }
0 commit comments