就在今天,我遇到了一个问题,即由 OpenOffice 包创建并以 XLSX 格式保存的文档在 Debian 9 中被识别为八位字节流而不是有效的 MS Office 格式:
root@linux# file -b --mime-type /tmp/test.xlsx
application/octet-stream
原生 MS Office 文档被识别且没有问题:
root@linux# file -b --mime-type /tmp/intro.docx
application/vnd.openxmlformats-officedocument.wordprocessingml.document
有人能解释一下从 OpenOffice、LibreOffice 等保存的 MS Office 文档有什么问题吗?或者可能是我的 Debian 设置有问题?
答案1
你问的是两个不同的文件扩展名,“xlsx”不是“文字处理文档”,但它们确实共享相同的文件格式:它们都是PK
以前两个字节为特征的 zip 文件。
简单的答案是,它file
不知道.xlsx
,但知道.docx
文件是用于 Word 的。它可能会file
进一步检查标题,因为标题中似乎有一些与内容类型相关的信息(“content_types.xml”)。Excel 和 Word 标题看起来“相同”。
因此,要么是file
不知道“xlsx”,要么是 OpenOffice 无法在“xlsx”文件中放入额外的元数据。
检查“xlsx”文件的前64个字节,看它是否与“docx”文件相似。