首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.Net将文件下载到客户端浏览器

ASP.Net将文件下载到客户端浏览器
EN

Stack Overflow用户
提问于 2012-01-17 23:42:46
回答 2查看 109.7K关注 0票数 22

我正在编写一个简单的测试页面,通过点击按钮从浏览器下载一个文本文件。我收到了一个非常奇怪的错误,我以前从未见过。有什么想法吗?

错误发生在Response.End();上,并且文件永远不会到达客户端浏览器

代码:

代码语言:javascript
复制
  string filePath = "C:\\test.txt";
  FileInfo file = new FileInfo(filePath);
  if (file.Exists)
  {
    Response.ClearContent();
    Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
    Response.AddHeader("Content-Length", file.Length.ToString());
    Response.ContentType = "text/plain";
    Response.TransmitFile(file.FullName);
    Response.End();
  }

错误:

由于代码已优化或本机框架位于调用堆栈的顶部,

无法计算表达式。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-17 23:55:58

尝试将其更改为。

代码语言:javascript
复制
 Response.Clear();
 Response.ClearHeaders();
 Response.ClearContent();
 Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
 Response.AddHeader("Content-Length", file.Length.ToString());
 Response.ContentType = "text/plain";
 Response.Flush();
 Response.TransmitFile(file.FullName);
 Response.End();
票数 39
EN

Stack Overflow用户

发布于 2013-07-26 01:11:45

如果你在下载的文件名上有问题,只需对上面的解决方案稍作补充...

代码语言:javascript
复制
Response.AddHeader("Content-Disposition", "attachment; filename=\"" + file.Name + "\"");

这将返回确切的文件名,即使它包含空格或其他字符。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8897458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档