正确识别docx pptx xlsx和其他msoffice文件而不是applicaton / zip

时间:2011-11-10 00:15:05

标签: perl upload zip ms-office mime-types

目前,我正在开发一个perl脚本,该脚本应该允许上传文件,然后处理它,然后将其发送到打印机。

http://code.google.com/p/web-printer-http/

显然,以“... x”结尾的zip和microsoft office文件在使用/ usr / bin / file时都将自己标识为应用程序/ zip。

有什么想法让他们与众不同吗?

不同之处不应该基于扩展,因为上传系统可能无法使用扩展(如移动电话等)。 相反,它应该完全根据文件内容判断内容。

1 个答案:

答案 0 :(得分:3)

没有办法区分.zip文件和Office Open XML文件(如.docx,xslx,.pptx等),而无需在zip中查看。

所有各种开放XML格式都使用.ZIP压缩。因此,他们 zip文件。

如果zipfile符合Open Packaging Convention,那么它也可能是Open XML(Office)文档。

一个好的启发式方法是,如果zip文件包含一个名为/[Content_Types].xml的文件,那么它就是一个OPC文件。要确定zip文件是否包含该名称的文件,您必须阅读zipfile目录。使用zip库来做到这一点。

相关问题