Response.ContentType类型简介-飞外

服务器送给客户端的数据包类型可以是text/html文本,也可以是gif/jpeg图形文件,所以每次传输前,我们都必须告知客户端将要传输的文件类型,一般默认情况下为“Text/Html”类型。
常用的类型包括:

% Response.ContentType = "text/HTML" %
% Response.ContentType = "image/GIF" %
% Response.ContentType = "image/JPEG" %
% Response.ContentType = "text/plain" %
% Response.ContentType = "image/JPEG" %
% Response.ContentType = "application/x-cdf" %

用于作为文本内容返回而不是已解释的 HTML 语句:Response.ContentType = "text/plain"
% Response.ContentType = "text/plain"
Response.write(now() "会被执行么?")
%
你可以注意到:页面提供,页面中的ASP内容被解释执行了的
程序文件以XLS文件被提供 Response.ContentType = "application/vnd.ms-excel"
% Response.ContentType = "application/vnd.ms-excel"
Response.write("本页面调试会出现对话框提供,保存类型为XLS")
%
实现歌曲连续播放 response.ContentType="audio/x-pn-realaudio"
% dim ramstr
ramstr=""
set rs=server.createobject("adodb.recordset")
sql="XXXXXXXXXXX"
rs.open sql,conn,1,3 'conn已定义
do while not rs.eof
ramstr=ramstr rs("url") vbCrLf
rs.movenext
loop
rs.close
response.ContentType="audio/x-pn-realaudio"
'response.ContentType="audio/x-mpegurl"
response.write ramstr
%

response.write 输出的时候,由于定义了response.ContentType 所以输出歌曲地址的时候会自动调用符合相应格式的软件来播放歌曲,不过前提是播放歌曲的软件必须先安装的。

二、Response.ContentType 的所有类型:

$$mimetypes = array(

'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',

'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',

);

三、超过100M文件的

如何利用ContentType 来,在服务器上提供一个.xls后缀的文件点击而不是直接在浏览器中打开。(注意:于上程序文件以XLS文件被提供有所不同)
Response.ContentType = "application/x-download",让整个程序文件点击了。怎么办好呢???
A:解决方案1. 利用Response.WriteFile的文件输出操作
具体在按钮点击事件中添加一下代码
private void btnDownload_Click(object sender, System.EventArgs e)
{
string DownloadFileName=Server.MapPath("file.xls");
string filepath = DownloadFileName;
// Identify the file name.
string filename = System.IO.Path.GetFileName(filepath);
Response.Clear();
// Specify the Type of the downloadable file.
Response.ContentType = "application/octet-stream";
// Set the Default file name in the FileDownload dialog box.
Response.AddHeader("Content-Disposition", "attachment; fileDownloadFileName";
// Identify the file name.
string filename = System.IO.Path.GetFileName(filepath);
try
{
// Open the file.
iStream = new System.IO.FileStream(filepath, System.IO.FileMode.Open,
System.IO.FileAccess.Read,System.IO.FileShare.Read);//用文件流来处理
// Total bytes to read:
dataToRead = iStream.Length;
Response.ContentType = "application/octet-stream";//问题就在这里,解决百M关口
Response.AddHeader("Content-Disposition", "attachment; fileError : " + ex.Message);
}
finally
{
if (iStream != null)
{
//Close the file.
iStream.Close();
}
} 如何利用ContentType 来,在服务器上提供一个.xls后缀的文件点击而不是直接在浏览器中打开。(注意:于上程序文件以XLS文件被提供有所不同)
Response.ContentType = "application/x-download",让整个程序文件点击了。怎么办好呢???
A:解决方案1. 利用Response.WriteFile的文件输出操作
具体在按钮点击事件中添加一下代码
private void btnDownload_Click(object sender, System.EventArgs e)
{
string DownloadFileName=Server.MapPath("file.xls");
string filepath = DownloadFileName;
// Identify the file name.
string filename = System.IO.Path.GetFileName(filepath);
Response.Clear();
// Specify the Type of the downloadable file.
Response.ContentType = "application/octet-stream";
// Set the Default file name in the FileDownload dialog box.
Response.AddHeader("Content-Disposition", "attachment; fileDownloadFileName";
// Identify the file name.
string filename = System.IO.Path.GetFileName(filepath);
try
{
// Open the file.
iStream = new System.IO.FileStream(filepath, System.IO.FileMode.Open,
System.IO.FileAccess.Read,System.IO.FileShare.Read);//用文件流来处理
// Total bytes to read:
dataToRead = iStream.Length;
Response.ContentType = "application/octet-stream";//问题就在这里,解决百M关口
Response.AddHeader("Content-Disposition", "attachment; fileError : " + ex.Message);
}
finally
{
if (iStream != null)
{
//Close the file.
iStream.Close();
}
}