牛B请进 asp.net下载时页面瞬闪消失

li367321 2012-03-19 03:36:59
protected void Page_Load(object sender, EventArgs e)
{
string downLoadPath = @"D:\4Deploy\1.docx";
Response.Clear();
Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "1.docx"));
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.TransmitFile(downLoadPath);
HttpContext.Current.Response.End();
}

核心代码就上面了, 我是从一个页面window.open("downLoad.aspx"); 调试环境下可以下载,到了测试环境下的时候就无法下载了,页面一闪没了,没有进行下载。代码是从老项目中100%copy过来的,现在把网上的办法都试过了。没效果
...全文
107 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
色拉油 2012-03-21
  • 打赏
  • 举报
回复
配置的事儿[Quote=引用 7 楼 li367321 的回复:]

以上办法都没法解决此问题, 还是靠自己花了一天时间发现了。很不经意的一个小问题,就是在转入下载链接之前不能加了alert()之类的提示。去掉之后就正常了,但是新的问题又来了下载大文件就没折了,超过700M的文件就崩溃
[/Quote]
li367321 2012-03-21
  • 打赏
  • 举报
回复
以上办法都没法解决此问题, 还是靠自己花了一天时间发现了。很不经意的一个小问题,就是在转入下载链接之前不能加了alert()之类的提示。去掉之后就正常了,但是新的问题又来了下载大文件就没折了,超过700M的文件就崩溃
porschev 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 li367321 的回复:]

ZIP文件时要改些什么? 引用 4 楼 porschev 的回复:
C# code


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string fileName = "XXX.docx";//客户端保存的文件名
string filePath = Serv……
[/Quote]

string fileName = "XXX.ZIP";//客户端保存的文件名
string filePath = Server.MapPath("test.ZIP");//路径

li367321 2012-03-19
  • 打赏
  • 举报
回复
ZIP文件时要改些什么? [Quote=引用 4 楼 porschev 的回复:]
C# code


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string fileName = "XXX.docx";//客户端保存的文件名
string filePath = Serv……
[/Quote]
porschev 2012-03-19
  • 打赏
  • 举报
回复



protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string fileName = "XXX.docx";//客户端保存的文件名
string filePath = Server.MapPath("test.docx");//路径

FileInfo fileInfo = new FileInfo(filePath);
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
Response.AddHeader("Content-Length", fileInfo.Length.ToString());
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
Response.WriteFile(fileInfo.FullName);
Response.Flush();
Response.End();
}
}

li367321 2012-03-19
  • 打赏
  • 举报
回复
无效啊。 都加了
SomethingJack 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 somethingjack 的回复:]

引用楼主 li367321 的回复:
protected void Page_Load(object sender, EventArgs e)
{
string downLoadPath = @"D:\4Deploy\1.docx";
Response.Clear();
Response.AddHeader("content-disposition", string.Format("a……
[/Quote]
另外下载的时候将context.Response.ContentType = "application/octet-stream";放到你的AddHeader之前
SomethingJack 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 li367321 的回复:]
protected void Page_Load(object sender, EventArgs e)
{
string downLoadPath = @"D:\4Deploy\1.docx";
Response.Clear();
Response.AddHeader("content-disposition", string.Format("attac……
[/Quote]
context.Response.ContentType = "application/octet-stream";

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧