我正在尝试从数据库下载word文档(.docx)。
所以我在下载功能结束时使用了以下代码
Response.BinaryWrite(MyByte)
Context.ApplicationInstance.CompleteRequest()
但它会将不需要的内容写入我的word文件,因此每次打开文件时都会抛出错误。
文件已损坏且无法打开
我用Google搜索了这个问题,我使用了 Response.End()而不是 Context.ApplicationInstance.CompleteRequest()
但是当Thread被中止时,Response.End抛出错误。和文件打开完美。
答案 0 :(得分:0)
我试过这个来解决我的问题
我刚刚设法通过替换
解决了这个问题Response.Clear();
与
Response.ClearContent();
Response.ClearHeaders();
所以整个事情看起来像:
byte[] downloadBytes = doc.GetData();
Response.ClearContent();
Response.ClearHeaders();
Response.Buffer = true;
Response.ContentType = "application/msword";
Response.AddHeader("Content-Length", downloadBytes.Length.ToString());
Response.AddHeader("Content-Disposition", "attachment; filename=myFile.docx");
Response.BinaryWrite(downloadBytes);
Response.Flush();
Response.End();