碰到一个奇怪的问题,我有一个下载的页面,接收下载的ID,如果程序会根据此ID取得文件的真实路径,然后就用Response.Redirect到用户的窗口重定向到真实的下载地址,如果是IE能直接显示的格式(如网页,图片等)就应该在IE中直接显示此文件的内容,如果是IE不能直接显示的格式(如zip,exe)等应该提示用户下载。但我碰到的问题是,当我使用IE来访问下载页面时,如果下载文件的格式是txt等,没有问题,文件内容直接显示在了IE中,但如果文件格式是zip时,没有出现预期的提示打开/保存/取消的对话框,而是浏览器窗口闪一下之后就自动关闭了,什么都没有。而如果使用Firefox则一切正常。有人碰到过类似的问题吧?先谢了。
解决方案 »
- svn版本控制器 制作证书
- 求助~
- 高价求C#制作一个投票程序源码
- (菜鸟求助)如何能实现像VISTA那样的窗体淡入淡出效果?
- 类型“FreeTextBoxControls.FreeTextBox” 不具备名为SupportFolder的属性
- 小弟也想和大侠换c#程序学习
- 关于自定义类型的赋值问题
- 工具箱窗口 里怎样才能使用自定义 泛型控件 呢 c#语言
- 如何在C#中使用API函数,需要什么类,如何得到API函数的声明字符串?
- 请大家帮忙,运行时出错,“这是一个意外的XML声明。。。”
- SQLServer连接的问题
- 请问arrayList.add(类A的对象),那么list中的对象跟我传进去的参数对象在内存中是不是同一个对象?
if (DownloadFile.Exists)
{
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(targetFileName, System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
Response.WriteFile(DownloadFile.FullName);
Response.Flush();
Response.End();
}
else
{
throw new Exception("文件不存在或路径设置不正确。");
}