HTTP输出文件在框架网页中无效 MVP急救

gxboy 2005-12-16 12:39:00
Dim file As New System.IO.FileInfo(filefullpath)
Response.Clear()
Response.ClearHeaders()
Response.ContentType = "application/octet-stream"
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(file.FullName, System.Text.Encoding.UTF8))
Response.AppendHeader("Content-Length", file.Length.ToString())
Response.WriteFile(file.FullName)
Response.End()

以上代码没有任何错误,在单个页面执行的时候也可以输出文件。

但在框架网页中(frameset)无效,并且在请求这个页面的时候会产生多次请求(请求这个页面一次就会进入无限对这个页面的请求)

用Try 调试会在WriteFile中Catch到"线程正被中止",百思不解,望高手指点
...全文
156 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
amandag 2006-06-25
  • 打赏
  • 举报
回复
up
gxboy 2006-06-25
  • 打赏
  • 举报
回复
这个问题都还没人帮忙。!!!!!!!
zqsntws 2006-06-20
  • 打赏
  • 举报
回复
帮顶
gxboy 2006-05-30
  • 打赏
  • 举报
回复
还没人解答啊。
gxboy 2005-12-17
  • 打赏
  • 举报
回复
我目前只有用弹出新窗口来暂时解决这个问题,不知道是什么原因引起的,请高手指点
gxboy 2005-12-16
  • 打赏
  • 举报
回复
我正在试用其它方法,弹出新窗口这个会影响客户情绪. try!!!!
gngnandgngn 2005-12-16
  • 打赏
  • 举报
回复
框架问题真是多多啊,
弹个新窗口出来再输出,这样行吗
jicklv 2005-12-16
  • 打赏
  • 举报
回复
增加一个空的页面,
在load中添加:
Response.Clear()
Response.ClearHeaders()
Response.ContentType = "application/octet-stream"
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(Request[strFileName], System.Text.Encoding.UTF8))
Response.AppendHeader("Content-Length", file.Length.ToString())
Response.WriteFile(file.FullName)
Response.End()

将请求转到这个页面。应该可以。
LoveCherry 2005-12-16
  • 打赏
  • 举报
回复
改Response.BinaryWrite();试试呢
Seeko0 2005-12-16
  • 打赏
  • 举报
回复
增加:
if (!IsPostBack){
//code here

}
Lcindep110 2005-12-16
  • 打赏
  • 举报
回复
up
BossFriday 2005-12-16
  • 打赏
  • 举报
回复
up

62,046

社区成员

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

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

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

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