ASP.NET 根据后缀获取ContentType类型
花了几天时间去研究了一下邮件管理系统,在C#下基于一个免费的JMAIL 4.4这个DLL。为什么不选JMail.net 1.1的?JMail.net 1.1发邮件很不错,但是他没有POP3,所以收不了邮件。说说我遇到一个问题,在发附件的时候,关于ContetnType类型之间的选择问题。来做一个测试例子,代码如下:
1、在C盘建一个ContentType.txt文件
ez,application/andrew-inset hqx,application/mac-binhex40 cpt,application/mac-compactpro doc,application/msword bin,application/octet-stream dms,application/octet-stream lha,application/octet-stream lzh,application/octet-stream exe,application/octet-stream class,application/octet-stream so,application/octet-stream dll,application/octet-stream oda,application/oda pdf,application/pdf ai,application/postscript eps,application/postscript ps,application/postscript smi,application/smil smil,application/smil mif,application/vnd.mif xls,application/vnd.ms-excel ppt,application/vnd.ms-powerpoint wbxml,application/vnd.wap.wbxml wmlc,application/vnd.wap.wmlc wmlsc,application/vnd.wap.wmlscriptc bcpio,application/x-bcpio vcd,application/x-cdlink pgn,application/x-chess-pgn cpio,application/x-cpio csh,application/x-csh dcr,application/x-director dir,application/x-director dxr,application/x-director dvi,application/x-dvi spl,application/x-futuresplash gtar,application/x-gtar hdf,application/x-hdf js,application/x-javascript skp,application/x-koan skd,application/x-koan skt,application/x-koan skm,application/x-koan latex,application/x-latex nc,application/x-netcdf cdf,application/x-netcdf sh,application/x-sh shar,application/x-shar swf,application/x-shockwave-flash sit,application/x-stuffit sv4cpio,application/x-sv4cpio sv4crc,application/x-sv4crc tar,application/x-tar tcl,application/x-tcl tex,application/x-tex texinfo,application/x-texinfo texi,application/x-texinfo tr,application/x-troff roff,application/x-troff man,application/x-troff-man me,application/x-troff-me ms,application/x-troff-ms ustar,application/x-ustar src,application/x-wais-source xhtml,application/xhtml+xml xht,application/xhtml+xml zip,application/zip au,audio/basic snd,audio/basic mid,audio/midi midi,audio/midi kar,audio/midi mpga,audio/mpeg mp2,audio/mpeg mp3,audio/mpeg aif,audio/x-aiff aiff,audio/x-aiff aifc,audio/x-aiff m3u,audio/x-mpegurl ram,audio/x-pn-realaudio rm,audio/x-pn-realaudio rpm,audio/x-pn-realaudio-plugin ra,audio/x-realaudio wav,audio/x-wav pdb,chemical/x-pdb xyz,chemical/x-xyz bmp,image/bmp gif,image/gif ief,image/ief jpeg,image/jpeg jpg,image/jpeg jpe,image/jpeg png,image/png tiff,image/tiff tif,image/tiff djvu,image/vnd.djvu djv,image/vnd.djvu wbmp,image/vnd.wap.wbmp ras,image/x-cmu-raster pnm,image/x-portable-anymap pbm,image/x-portable-bitmap pgm,image/x-portable-graymap ppm,image/x-portable-pixmap rgb,image/x-rgb xbm,image/x-xbitmap xpm,image/x-xpixmap xwd,image/x-xwindowdump igs,model/iges iges,model/iges msh,model/mesh mesh,model/mesh silo,model/mesh wrl,model/vrml vrml,model/vrml css,text/css html,text/html htm,text/html asc,text/plain txt,text/plain rtx,text/richtext rtf,text/rtf sgml,text/sgml sgm,text/sgml tsv,text/tab-separated-values wml,text/vnd.wap.wml wmls,text/vnd.wap.wmlscript etx,text/x-setext xsl,text/xml xml,text/xml mpeg,video/mpeg mpg,video/mpeg mpe,video/mpeg qt,video/quicktime mov,video/quicktime mxu,video/vnd.mpegurl avi,video/x-msvideo movie,video/x-sgi-movie ice,x-conference/x-cooltalk
2、在C#里做的测试,loadDicContentType和getContentType
class Program { static void Main(string[] args) { loadDicContentType(); Console.WriteLine(getContentTypeValue("class")); Console.ReadLine(); } static Dictionary<string, string> dicContentType = new Dictionary<string, string>(); static void loadDicContentType() { string[] contentTypes = File.ReadAllLines(@"c:\contentType.txt"); foreach (string contentType in contentTypes) { string[] types = contentType.Split(','); string key = types[0]; string value = types[1]; dicContentType.Add(key, value); } } static string getContentTypeValue(string key) { string value = dicContentType[key]; return value; } }