当我们通过Web页下载一个远程文件的时候,我们可以选择保存被下载文件,也可以选择直接打开被下载的文件。如果我们选择"Open",有的时候该文件会被已关联的程序以OLE方式开启在IE窗口中,很让人郁闷@_@。那么怎么可以让直接"Open"的时候,开启该文档的程序始终以独立的程序运行呢?
我们以Excel文档*.xls为例,下载如下图:
为了让直接选取"Open"的时候,文档被独立的Excel进程开启,而不是被OLE到IE中。我们可以在客户端做以下的设置:首先在资源管理器的Tools菜单中选择"Folder Options..."条目,然后在"File Types"标签页中找到xls文件扩展名映射,选"Advanced",并修改其属性项"Browse in same window"为unchecked状态,最后确定就行了。详细设置如下图:
我们以Excel文档*.xls为例,下载如下图:
为了让直接选取"Open"的时候,文档被独立的Excel进程开启,而不是被OLE到IE中。我们可以在客户端做以下的设置:首先在资源管理器的Tools菜单中选择"Folder Options..."条目,然后在"File Types"标签页中找到xls文件扩展名映射,选"Advanced",并修改其属性项"Browse in same window"为unchecked状态,最后确定就行了。详细设置如下图:
那么可不可以不在客户端做任何的设置,就总是让类似的下载使用独立进程窗口来开启文件呢?要在http传输命令上作标志是不行的啦,因为即使动态输入文件,我们只能在http头上设置文档的类型而已。这就需要我们在制作下载页面时做点处理了,解决办法就是使用iframe来下载远程的文件,而不是直接使用超级连接。这时候当文档被下载完毕出现"图1"那个提示后,点击"Open"按钮就总是会启动一个应用程序进城来开启被下载文档,而不是被无比郁闷的OLE到IE窗口中。
本文转自博客园鸟食轩的博客,原文链接:http://www.cnblogs.com/birdshome/,如需转载请自行联系原博主。