Reponse.WriteFile输出文档格式不正确问题,如换行
今天正好看到这个方法,工作中也比较少用到,就想整理下用法收录到笔记中,其中在做文本输出到页面的时候,发现了个问题,就是:
如果输出的是txt文档,虽然在notepad中是有回车等格式的,但是到了网页中,回车什么的格式都不存在了,网上查了些文档,虽然有相同的问题,但那些答案真是很无语,不扯远了,入正题:
乱码的问题好解决,txt文档指明下输出编码格式即可,utf-8不行,就用gb2312,如:
Response.Charset = "gb2312";
格式的问题,其实可以通过ContentType来解决,如txt文档对应的类型为text/plain:
Response.ContentType = "text/plain";
但这里会有问题,因为更改了显示类型,那么原网页中的html标签都会像encode了一样原封不动的显示出来;查阅资料的时候有人说用Response.Clear可以解决,我是没做出效果,而且看说明也只是清除缓存区中的内容,如何能影响页面标签?这个问题解决方法也很简单:
Reponse.End();
停止页面标签的生成即可,因为我只是想在页面中输出文档中的内容,没有其他业务,所以这么操作,具体的还得根据业务需求来定,这里只是提出一种解决方案,完整代码:
Response.Charset = "gb2312"; Response.ContentType = "text/plain"; Response.WriteFile("f:\\123.txt"); Response.End();
这里给出contentType的可选值:
'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',
't' =>'application/x-troff',
'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',
'ico' =>'image/x-ico',
'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',‘application/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'