Обнаружение расширения / Mimetype документов Microsoft Office в Javascript с использованием строки Base64 - PullRequest
0 голосов
/ 12 апреля 2020

Есть ли способ определить Mimetype / расширение форматов docx, pptx и xlsx, используя их строку base64.

Использование подписи файла / маги c чисел бесполезно, так как все эти три файла начинаются с одной и той же строки.

Можно ли узнать расширение этих файлов, используя строку Base64 / Blob.

Обновление: я смог найти решение для этого. Я разместил ответ ниже. Решение не работает для более старых версий документов Microsoft .do c, .xls и .ppt. Пожалуйста, оставьте свои ответы для них

1 Ответ

0 голосов
/ 14 апреля 2020

Я смог понять это. Все документы Microsoft Office создаются с использованием стандарта Office Open XML.

Стандарт Office open XML использует Zip-структуру для хранения содержимого. Измените офисный документ как файл Zip и извлеките файл Zip, можно увидеть следующее содержимое. Одним файлом, который является общим для всех офисных документов, является файл [Content_Types.xml]. Структура документа Office

В Javascript обработайте BLOB-объект документа Office как файл Zip и используйте любую из библиотек Zip для извлечения содержимого. После извлечения получите файл с именем [Content_Types.xml], чтобы определить тип документа

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

...