目前,我正在开发一个perl脚本,该脚本应该允许上传文件,然后处理它,然后将其发送到打印机。
http://code.google.com/p/web-printer-http/
显然,以“... x”结尾的zip和microsoft office文件在使用/ usr / bin / file时都将自己标识为应用程序/ zip。
有什么想法让他们与众不同吗?
不同之处不应该基于扩展,因为上传系统可能无法使用扩展(如移动电话等)。 相反,它应该完全根据文件内容判断内容。
答案 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库来做到这一点。