我有一个在 Windows 机器中创建的 Excel 文件。
如果我检查 MIME 类型,file -b --mime users.xlsx
结果是application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=binary
到目前为止还可以。但是当我在 Ubuntu 中使用 LibreOffice 编辑同一个文件并保存它时,命令的结果file
变成application/zip; charset=binary
那么这是谁的错呢?自由办公室?我能做些什么来预防它?我在网站的上传表单中使用此文件。验证 MIME 类型时会导致错误。
编辑:更多信息
我在网站中使用 PHP 和 Symfony。 Symfony 首先使用 PHP 的 fileinfo 扩展来确定 MIME 类型。如果失败则运行file -b --mime-type
命令。fileinfo
扩展返回也是application/octet-stream
不正确的。
笔记:Mac 中也会发生这种情况