Response输出或下载服务器端数据和文件

Response输出或下载服务器端数据和文件  

2010-12-30 13:06:26|  分类: Asp.Net|字号 订阅

 
 

以下是自己应用中的一些总结:

一、直接向页面输出二进制数据文件
“contents”就是要输出的数据内容,类型为Byte[],使用Response.BinaryWrite将直接将数据内容输出

到当前页面中,这通常用于显示图片、Word、PDF格式的文件,需要注意的是,客户端需要安装相应文件

的阅读器,否则会有输出错误。
Response.Clear();
Response.ContentType = "APPLICATION/OCTET-STREAM";
Response.BinaryWrite(contents);
Response.End();

二、下载二进制数据文件
“fileName”是下载的文件名,Response.BinaryWrite依文件名指定的文件格式将二进制数据向客户端输

出,显示文件下载对话框,与直接向页面输出数据不同的是,这里为Response头添加了“Content-

Disposition”值。
Response.Clear();
Response.ContentType = "APPLICATION/OCTET-STREAM";
Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode

(fileName, System.Text.Encoding.UTF8));
Response.BinaryWrite(contents);
Response.End();

三、下载文件
“fullPath”是服务器端存储的文件的物理路径加文件名,Response.ContentType定义了输出类型,注意

这里定义的输入类型需与要下载的文件类型一致,因为文件已存在,使用Response.TransmitFile或

Response.WriteFile将文件传输到客户端。
Response.Clear();
Response.ContentType = "application/x-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode

(fileName, System.Text.Encoding.UTF8));
Response.TransmitFile(fullPath);
Response.End();

posted @ 2013-01-10 17:41  peterlee  阅读(504)  评论(0)    收藏  举报