sunfei

万事烦扰,皆由心生,心不动,何来纷扰!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Response.WriteFile的应用 以及 文件的下载

Posted on 2008-11-07 15:40  sunfei  阅读(447)  评论(0编辑  收藏  举报
文件的下载:

private void Page_Load(object sender, System.EventArgs e) 
{
// 在此处放置用户代码以初始化页面 //
Response.Clear();//不要使用这一句那样ie会强行打开它结果就是死机。
//这里进行你的计数
Response.Redirect( @"http://localhost/aa.rar",true);
Response.End();
}

实现文件的下载。

=================================================一下是引用网上的内容
(我在web.config中已经把maxRequestLength设为50M,executionTimeout设为30分钟了。)
我使用如下方法实现文档下载的操作: -------------
Response.AppendHeader("Content-Disposition","attachment; filename="+HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8)); Response.WriteFile(PathAndName); Response.End();
------------- 但是当文件比较大(3、40M)时,下载时老是出错。

1.可以读取文件,将文件在页面显示。 ¢Œï:ø‚ˆ™R(bbs.szblogs.com‘’’9{Þžì:
¢Œï:ø‚ˆ™R(bbs.szblogs.com‘’’9{Þžì:
<table>
<tr>
   
<td style="width: 100px"><% Response.WriteFile("HTMLPage.htm"); %></td>
</tr>
</table>
¢Œï:ø‚ˆ™R(bbs.szblogs.com‘’’9{Þžì:
¢Œï:ø‚ˆ™R(bbs.szblogs.com‘’’9{Þžì:
2.读取文件做下载功能:¢Œï:ø‚ˆ™R(bbs.szblogs.com‘’’9{Þžì:
¢Œï:ø‚ˆ™R(bbs.szblogs.com‘’’9{Þžì:
private void downloadfile(string fname)
{
   
if (fname == null || fname.trim() == "")
       
return;
    fileinfo file
= new fileinfo(fname);

    response.clear();
    response.addheader(
"content-disposition",
       
"attachment;  filename=" + httputility.urlencode((file.name), system.text.encoding.utf8));
    response.addheader(
"content-length", file.length.tostring());
    response.contenttype
= "application/octet-stream";

    response.writefile(file.fullname);
    response.flush();

    response.close();
    response.end();
}