【发布时间】:2014-02-03 14:45:40
【问题描述】:
我正在尝试使用以下代码从数据库下载文件:
using(SFTDBEntities db = new SFTDBEntities()) {
Guid Id_LogServerLogFile = Guid.Parse(lblId.Text.Trim());
LogServerLogFile logServerLogFile = new LogServerLogFile();
logServerLogFile = db.LogServerLogFiles.FirstOrDefault(x = > x.Id == Id_LogServerLogFile);
byte[] data = logServerLogFile.LogServerLogFilesData.TFFileData;
long sz = logServerLogFile.TFFileSize;
Response.ClearContent();
Response.ContentType = logServerLogFile.TFFileMimeType;
Response.AddHeader("Content-Disposition", string.Format("attachment; filename = " + logServerLogFile.TFFileName));
Response.AddHeader("Content-Length", sz.ToString("F0"));
Response.Expires = 30;
Response.Buffer = true;
Response.BinaryWrite(data);
Response.Flush();
Response.End();
}
对于小尺寸文件它可以正常工作,但是当我尝试下载大文件时(例如:27 MB) 在以下行:
byte[] data = logServerLogFile.LogServerLogFilesData.TFFileData;
我收到以下错误:
Invalid attempt to call IsDBNull when reader is closed.
任何帮助将不胜感激。
【问题讨论】:
标签: c# asp.net entity-framework download