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;
        }
    }

 

posted @ 2012-04-28 16:19  春天又来了  阅读(1405)  评论(0编辑  收藏  举报