Response.Redirect定位下载,页面直接关闭
碰到一个奇怪的问题,我有一个下载的页面,接收下载的ID,如果程序会根据此ID取得文件的真实路径,然后就用Response.Redirect到用户的窗口重定向到真实的下载地址,如果是IE能直接显示的格式(如网页,图片等)就应该在IE中直接显示此文件的内容,如果是IE不能直接显示的格式(如zip,exe)等应该提示用户下载。
但我碰到的问题是,当我使用IE来访问下载页面时,如果下载文件的格式是txt等,没有问题,文件内容直接显示在了IE中,但如果文件格式是zip时,没有出现预期的提示打开/保存/取消的对话框,而是浏览器窗口闪一下之后就自动关闭了,什么都没有。而如果使用Firefox则一切正常。
有人碰到过类似的问题吧?先谢了。
补充: 打开页面的时候按住 CTRL 就能正常下载,另外下载文件的URL在浏览页面直接输入可以正常下载
[解决办法]
进来学习了
[解决办法]
用server.transfer看看
[解决办法]
学习
[解决办法]
正常的话是不会这样子的.
[解决办法]
看看是否是浏览器设置的原因,我的ie7可以
[解决办法]
看看是不是ie出问题了,ie经常出怪问题。搂住问题我遇到过,重启解决。
你不妨去其他机器上试试。
[解决办法]
这个异常现象倒是没碰到过...
[解决办法]
mark
[解决办法]
你的IE 打开 其它 网站 的下载 也是关闭/?
[解决办法]
比较少见了.还没碰到过
[解决办法]
给你个函数,你在page_load里判断下,如果不能直接在网页显示,就调用这个下载
把文件名(带路径)和你下载显示的文件标题作为参数传入就行
private void DownLoad(string filepath, string filetitle) { System.IO.FileInfo fi=new System.IO.FileInfo(filepath); System.Web.HttpContext.Current.Response.Clear(); System.Web.HttpContext.Current.Response.ClearHeaders(); System.Web.HttpContext.Current.Response.Buffer = false; System.Web.HttpContext.Current.Response.ContentType = "application/octet-stream"; System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filetitle, System.Text.Encoding.UTF8)); System.Web.HttpContext.Current.Response.AppendHeader("Content-Length", fi.Length.ToString()); System.Web.HttpContext.Current.Response.WriteFile(fi.FullName); System.Web.HttpContext.Current.Response.Flush(); System.Web.HttpContext.Current.Response.End();}
[解决办法]
添加这样一句话Response.AppendHeader("Content-Disposition","attachment;filename=aa.xls");
filename=aa.xls
表示打开/保存/取消的文件名
[解决办法]
友情UP
[解决办法]
这个异常现象倒是没碰到过...
[解决办法]
图片下载
public void SavePhotoFromUrl(string address, string FileName) { System.Net.WebClient wc = new System.Net.WebClient(); try { wc.DownloadFile(address, FileName); Response.Write("<script>alert('远程文件已经下载完毕!地址为" + filename + "')</script>"); } catch (System.Exception ex) { Response.Write("error:" + ex.Message.ToString()); } }
[解决办法]
这样一来解决了`你所描述的问题了``
------解决方案--------------------
我知道maxthon按住ctrl可以阻止弹出窗口
其他不清楚
[解决办法]
友情UP
[解决办法]
顶!
接分
[解决办法]
该死的兼容问题