首页 新闻 会员 周边 捐助

System.OutOfMemoryException ,简化代码如下,有没有解决办法?

0
[已解决问题] 解决于 2012-08-20 12:05

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
byte[] bytes = File.ReadAllBytes("D:\toClient.xls");//toClient.xls 大小为20M
Response.BinaryWrite(bytes);
}
}

运行后直接报:System.OutOfMemoryException 

symphony2010的主页 symphony2010 | 初学一级 | 园豆:99
提问于:2012-08-20 07:36
< >
分享
最佳答案
0

一般是这么写:

Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(downloadName, System.Text.Encoding.UTF8));
Response.WriteFile("D:\toClient.xls");
Response.Flush();
Response.End();

奖励园豆:5
向往-SONG | 老鸟四级 |园豆:4853 | 2012-08-20 09:05
其他回答(1)
0

不要直接Response.BinaryWrite(bytes);

每次读取一个  byte[]

然后Response.Flush();

 

 

八戒的师傅 | 园豆:1472 (小虾三级) | 2012-08-20 08:35

可以分析一下原因吗?

支持(0) 反对(0) symphony2010 | 园豆:99 (初学一级) | 2012-08-20 09:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册