首页 新闻 会员 周边 捐助

这个问题好难(C#)

0
悬赏园豆:200 [已解决问题] 解决于 2008-12-10 15:45

用ASP.NET2.0做的一个网站,其中一个网页中需要有个“下载”按钮(就是普通的Button),点击之后触发事件链接到一个代理页面,代理页面的主要代码如下:

   Response.Charset = "utf-8";
   Response.Buffer= true;
   this.EnableViewState = false;
   Response.ContentEncoding = System.Text.Encoding.UTF8;
   Response.ContentType=fileContentType;
   Response.AppendHeader("Content-Disposition","attachment;filename=" + theFileName);
   Response.WriteFile(filename);

   Response.Flush();
   Response.Close();
   Response.End();

通过执行这个代理页面,弹出如上图的内容,请问如何可以不用用户选择而直接“打开”文件(文件类型无限制)?怎么操作这个图片上的“打开”按钮?

问题补充: 我的意思是我不想动鼠标去点“打开”按钮,我想直接打开,就相当于我点了打开按钮。如果客户端没有装WORD就算了,装了就打开
min10的主页 min10 | 初学一级 | 园豆:180
提问于:2008-12-08 13:22
< >
分享
最佳答案
0

在Response.AppendHeader("Content-Disposition","attachment;filename=" + theFileName); 控制一下,有一个与attachment是对应的,用来不是以附件形式下载的标记,我一时忘记叫什么了(可以搜一下),浏览器就会自动查找可以打开文档的程序来打开文档。

GUO Xingwang | 老鸟四级 |园豆:3885 | 2008-12-08 13:44
其他回答(9)
0

response.redirect(网址)

如果客户装了word 就自动打开

张三封 | 园豆:121 (初学一级) | 2008-12-08 13:25
0

url写到文件处就会自动下载并打开

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2008-12-08 13:32
0

首先肯定得装了word才能打开。不明白楼主的意图。

Jerry Qian | 园豆:19 (初学一级) | 2008-12-08 13:38
0

好像和客户端的设置有关吧!

木白 | 园豆:180 (初学一级) | 2008-12-08 13:47
0

搜索过了一个页面 上面是这样说的

IE下载完RAR文件后就自动打开的解决

在文件夹选项—文件类型选项卡中选择RAR类型,然后点击旁边的“高级”按钮,然后选中“下载后确认打开”。这样以后再下在RAR类型的文件就不会自动打开,而是恢复为原来的直接保存了~

不知道是不是在这里设置一下就下载过错后自动打开了

二十二号同学 | 园豆:790 (小虾三级) | 2008-12-08 13:56
0

这个是浏览器行为,你控制不了的。  

West | 园豆:1095 (小虾三级) | 2008-12-08 14:03
0

这个需求很重要吗?这是IE的下载模式。

你想,如果按照你说的模式执行,那么如果是一个恶意文件,你在不知情的情况下或无意中点击了,这时候它就在你的系统中自动执行了,那岂不是很麻烦?后果很严重啊!

上不了岸的鱼 | 园豆:4613 (老鸟四级) | 2008-12-08 14:35
0

下面链接讲述了如果强制下载,用PHP实现的,看的头晕,楼主有时间自己看看吧。好像也不是百分之百能解决问题。

http://apptools.com/phptools/force-download.php

eaglet | 园豆:17139 (专家六级) | 2008-12-08 14:47
0

对于直接打开 只需把URL拼接完整即可,但是客户机器上必须安装word才行,版本还得比客户端的低。

建议:你把那个button 换成linkbutton 这样你右键就可以保存了,也不需弹出什么框了(不过,点击右键下载 有些用户是不知道的)。

金鱼 | 园豆:1090 (小虾三级) | 2008-12-08 16:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册