什么是 Apache OpenOffice 文件(*.odt、*.ods、*.odp)的正确 mimetype?

What is correct mimetype with Apache OpenOffice files like (*.odt, *.ods, *.odp)?

我希望网站上的 *.ods*.odt 文件在单击时在 openoffice 中打开,而不是保存在桌面上,或者在浏览器中嵌入打开等。现在显然这一切都取决于如何为每个用户配置所有内容,但什么是最好的 MIMETYPE 和其他设置来实现大部分时间?

我知道对于较旧的 *.doc 文档,这就足够了:

header("Content-Type: application/msword");

我想要开放办公室的解决方案。

我的 /etc/mime.types 说是:

  • application/vnd.oasis.opendocument.text 对于 *.odt
  • application/vnd.oasis.opendocument.spreadsheet 对于 *.ods
  • application/vnd.oasis.opendocument.presentation 对于 *.odp

这是有道理的,因为它是一个企业标准 (vnd),由 OASIS 组织设计,用于不同格式的 opendocuments。

如果您不想为发送正确的 MIME 类型而烦恼,您可以使用 finfo class 为您完成:

$finfo = new finfo(FILEINFO_MIME);
header('Content-Type: ' . $finfo->file('/path/to/file'));