使用Base64字符串在Javascript中检测Microsoft Office文档的扩展名/模仿类型

问题描述 投票:0回答:1

是否有任何方法可以使用它们的base64字符串来确定docx,pptx和xlsx格式的Mimetype /扩展名。

使用文件签名/魔术数字是没有用的,因为所有这三个文件都以相同的字符串开头。

是否可以使用Base64字符串/ Blob来了解这些文件的扩展名。

更新:我能够找出解决方案。我在下面发布了答案。该解决方案不适用于Microsoft文档.doc,.xls和.ppt的旧版本。请为他们发布答案

javascript ms-office mime-types file-extension
1个回答
0
投票

我能够弄清楚。所有Microsoft Office文档都是使用Office Open XML标准构建的。

Office开放XML标准使用Zip结构来存储内容。将Office文档更改为Zip文件并解压缩Zip文件,可以看到以下内容。 [Content_Types.xml]文件是所有Office文档共有的一个文件。Office document structure

在Java语言中,将Office文档的Blob视为Zip文件,并使用任何Zip库提取内容。提取后,获取名为[Content_Types.xml]的文件,以确定文档的类型

JSZip:https://stuk.github.io/jszip/

© www.soinside.com 2019 - 2024. All rights reserved.