【发布时间】:2011-03-20 20:09:11
【问题描述】:
当我从浏览器访问我的本地主机时,我看到存储在那里的文件列表,这些文件是 xls 或 word。 当我打开 word/xls 或其他此类文件时,它们不会打开,但我在 firefox 中有一个选项是打开它们还是保存它们,如果我打开它们,它们会先被下载,然后下载文件的副本会打开. 我想要一种在不下载文件的情况下打开文件的方法。
谢谢。
【问题讨论】:
当我从浏览器访问我的本地主机时,我看到存储在那里的文件列表,这些文件是 xls 或 word。 当我打开 word/xls 或其他此类文件时,它们不会打开,但我在 firefox 中有一个选项是打开它们还是保存它们,如果我打开它们,它们会先被下载,然后下载文件的副本会打开. 我想要一种在不下载文件的情况下打开文件的方法。
谢谢。
【问题讨论】:
这是浏览器配置。您无法影响此行为,因为从安全角度来看,让网站调用使用哪个应用程序或如何打开文件是不可取的。
您通过网站下载的每个文件都与一个媒体类型 或MIME type 相关联。例如 Word 文件使用application/msword。
这就是网络服务器关于文件的全部内容。还有一个额外的 HTTP 头 Content-Disposition: 可以在 inline(默认)和 attachment(强制下载)之间交替。但这不太可能在默认的网络服务器设置中设置。您可以使用 Firebug(http 标头)检查这一点。
但是根据您的描述,打开的对话框是由默认的 Firefox 设置引起的。用户可以选择自动打开某些文件类型(该对话框 IIRC 中有一个复选框)。网站对此没有影响。例如,PDF 是特殊情况,Adobe 浏览器插件会在浏览器窗口内部打开它。 (Internet Explorer 中的 Word 文件也有类似的插件,但 Firefox 没有。)
【讨论】:
我相信你需要一个系统调用来做到这一点。至少在 Mac OS X 上,理论上您可以通过服务器端脚本语言执行“打开 /path/to/filename.ext”,以使它们被 mac 上的默认应用程序打开。过去我不完全确定你会有什么选择。
【讨论】: