用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();
通过执行这个代理页面,弹出如上图的内容,请问如何可以不用用户选择而直接“打开”文件(文件类型无限制)?怎么操作这个图片上的“打开”按钮?
在Response.AppendHeader("Content-Disposition","attachment;filename=" + theFileName); 控制一下,有一个与attachment是对应的,用来不是以附件形式下载的标记,我一时忘记叫什么了(可以搜一下),浏览器就会自动查找可以打开文档的程序来打开文档。
response.redirect(网址)
如果客户装了word 就自动打开
url写到文件处就会自动下载并打开
首先肯定得装了word才能打开。不明白楼主的意图。
好像和客户端的设置有关吧!
搜索过了一个页面 上面是这样说的
IE下载完RAR文件后就自动打开的解决
在文件夹选项—文件类型选项卡中选择RAR类型,然后点击旁边的“高级”按钮,然后选中“下载后确认打开”。这样以后再下在RAR类型的文件就不会自动打开,而是恢复为原来的直接保存了~
不知道是不是在这里设置一下就下载过错后自动打开了
这个是浏览器行为,你控制不了的。
这个需求很重要吗?这是IE的下载模式。
你想,如果按照你说的模式执行,那么如果是一个恶意文件,你在不知情的情况下或无意中点击了,这时候它就在你的系统中自动执行了,那岂不是很麻烦?后果很严重啊!
下面链接讲述了如果强制下载,用PHP实现的,看的头晕,楼主有时间自己看看吧。好像也不是百分之百能解决问题。
http://apptools.com/phptools/force-download.php
对于直接打开 只需把URL拼接完整即可,但是客户机器上必须安装word才行,版本还得比客户端的低。
建议:你把那个button 换成linkbutton 这样你右键就可以保存了,也不需弹出什么框了(不过,点击右键下载 有些用户是不知道的)。