【问题标题】:Open files under webroot without downloading them在 webroot 下打开文件而不下载它们
【发布时间】:2011-03-20 20:09:11
【问题描述】:

当我从浏览器访问我的本地主机时,我看到存储在那里的文件列表,这些文件是 xls 或 word。 当我打开 word/xls 或其他此类文件时,它们不会打开,但我在 firefox 中有一个选项是打开它们还是保存它们,如果我打开它们,它们会先被下载,然后下载文件的副本会打开. 我想要一种在不下载文件的情况下打开文件的方法。

谢谢。

【问题讨论】:

    标签: php apache localhost


    【解决方案1】:

    这是浏览器配置。您无法影响此行为,因为从安全角度来看,让网站调用使用哪个应用程序或如何打开文件是不可取的。

    您通过网站下载的每个文件都与一个媒体类型MIME type 相关联。例如 Word 文件使用application/msword

    这就是网络服务器关于文件的全部内容。还有一个额外的 HTTP 头 Content-Disposition: 可以在 inline(默认)和 attachment(强制下载)之间交替。但这不太可能在默认的网络服务器设置中设置。您可以使用 Firebug(http 标头)检查这一点。

    但是根据您的描述,打开的对话框是由默认的 Firefox 设置引起的。用户可以选择自动打开某些文件类型(该对话框 IIRC 中有一个复选框)。网站对此没有影响。例如,PDF 是特殊情况,Adobe 浏览器插件会在浏览器窗口内部打开它。 (Internet Explorer 中的 Word 文件也有类似的插件,但 Firefox 没有。)

    【讨论】:

      【解决方案2】:

      我相信你需要一个系统调用来做到这一点。至少在 Mac OS X 上,理论上您可以通过服务器端脚本语言执行“打开 /path/to/filename.ext”,以使它们被 mac 上的默认应用程序打开。过去我不完全确定你会有什么选择。

      【讨论】:

      • pdf 和文本文件确实在浏览器中打开......但 word/xls 和其他一些类型不会打开......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-08
      • 2021-01-29
      • 1970-01-01
      • 2013-10-25
      相关资源
      最近更新 更多