Application vnd ms excel sheet macroenabled 12 что это

Обновлено: 06.07.2024

Если надо просто выгрузить некую таблицу с сайта как файл excel, то подойдет достаточно простой способ.

Согласно RFC 2045, RFC 2046, RFC 4288, RFC 4289 и RFC 4855[3] выделяются следующие базовые типы передаваемых данных:

  • application;
  • audio;
  • example;
  • image;
  • message;
  • model;
  • multipart;
  • text;
  • video.

Внутренний формат прикладной программы

  • application/atom+xml: Atom
  • application/EDI-X12: EDI X12 (RFC 1767)
  • application/EDIFACT: EDI EDIFACT (RFC 1767)
  • application/json: JavaScript Object Notation JSON (RFC 4627)
  • application/javascript: JavaScript (RFC 4329)
  • application/octet-stream: двоичный файл без указания формата (RFC 2046)[4]
  • application/ogg: Ogg (RFC 5334)
  • application/pdf: Portable Document Format, PDF (RFC 3778)
  • application/postscript: PostScript (RFC 2046)
  • application/soap+xml: SOAP (RFC 3902)
  • application/font-woff: Web Open Font Format[5]
  • application/xhtml+xml: XHTML (RFC 3236)
  • application/xml-dtd: DTD (RFC 3023)
  • application/xop+xml:XOP
  • application/zip: ZIP[6]
  • application/gzip: Gzip
  • application/x-bittorrent : BitTorrent
  • application/x-tex : TeX
  • application/xml: XML
  • application/msword: DOC
  • image/gif: GIF(RFC 2045 и RFC 2046)
  • image/jpeg: JPEG (RFC 2045 и RFC 2046)
  • image/pjpeg: JPEG[9]
  • image/png: Portable Network Graphics[10](RFC 2083)
  • image/svg+xml: SVG[11]
  • image/tiff: TIFF(RFC 3302)
  • image/vnd.microsoft.icon: ICO[12]
  • image/vnd.wap.wbmp: WBMP
  • image/webp: WebP
  • model/example: (RFC 4735)
  • model/iges: IGS файлы, IGES файлы (RFC 2077)
  • model/mesh: MSH файлы, MESH файлы (RFC 2077), SILO файлы
  • model/vrml: WRL файлы, VRML файлы (RFC 2077)
  • model/x3d+binary: X3D ISO стандарт для 3D компьютерной графики, X3DB файлы
  • model/x3d+vrml: X3D ISO стандарт для 3D компьютерной графики, X3DV VRML файлы
  • model/x3d+xml: X3D ISO стандарт для 3D компьютерной графики, X3D XML файлы
  • multipart/mixed: MIME E-mail (RFC 2045 и RFC 2046)
  • multipart/alternative: MIME E-mail (RFC 2045 и RFC 2046)
  • multipart/related: MIME E-mail (RFC 2387 и используемое MHTML (HTML mail))
  • multipart/form-data: MIME Webform (RFC 2388)
  • multipart/signed: (RFC 1847)
  • multipart/encrypted: (RFC 1847)
  • text/cmd: команды
  • text/css: Cascading Style Sheets (RFC 2318)
  • text/csv: CSV (RFC 4180)
  • text/html: HTML (RFC 2854)
  • text/javascript (Obsolete): JavaScript (RFC 4329)
  • text/plain: текстовые данные (RFC 2046 и RFC 3676)
  • text/php: Скрипт языка PHP
  • text/xml: Extensible Markup Language (RFC 3023)
  • text/markdown: файл языка разметки Markdown (RFC 7763)
  • text/cache-manifest: файл манифеста(RFC 2046)
  • video/mpeg: MPEG-1 (RFC 2045 и RFC 2046)
  • video/mp4: MP4 (RFC 4337)
  • video/ogg: Ogg Theora или другое видео (RFC 5334)
  • video/quicktime: QuickTime[13]
  • video/webm: WebM
  • video/x-ms-wmv: Windows Media Video[7]
  • video/x-flv: FLV
  • video/x-msvideo: AVI
  • video/3gpp: .3gpp .3gp [14]
  • video/3gpp2: .3gpp2 .3g2 [14]
  • application/vnd.oasis.opendocument.text: OpenDocument[15]
  • application/vnd.oasis.opendocument.spreadsheet: OpenDocument[16]
  • application/vnd.oasis.opendocument.presentation: OpenDocument[17]
  • application/vnd.oasis.opendocument.graphics: OpenDocument[18]
  • application/vnd.ms-excel: Microsoft Excel файлы
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: Microsoft Excel 2007 файлы
  • application/vnd.ms-excel.sheet.macroEnabled.12: Microsoft Excel 2007 файлы c макросами .XLSM
  • application/vnd.ms-powerpoint: Microsoft Powerpoint файлы
  • application/vnd.openxmlformats-officedocument.presentationml.presentation: Microsoft Powerpoint 2007 файлы
  • application/msword: Microsoft Word файлы
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document: Microsoft Word 2007 файлы
  • application/vnd.mozilla.xul+xml: Mozilla XUL файлы
  • application/vnd.google-earth.kml+xml: KML файлы (например, для Google Earth)

Я верю стандарт тип MIME для Excel файлы application/vnd.ms-excel.

Что касается названия документа, вы должны установить следующий заголовок в ответе:

вы всегда должны использовать ниже типа MIME, если вы хотите обслуживать файл excel в xlsx формат

автор: Siva Kranthi Kumar

автор: Divyans Mahansaria

для тех, кто все еще спотыкается с этим после использования всех возможных типов MIME, перечисленных в вопросе:

Позволяет добавить/удалить типы файлов для загрузки на сайт (MIME-типы файлов разрешенных к загрузке).

Ищем WP-разработчика! Фулл-тайм, удаленка, хорошая зарплата, соц. пакет. Подробности.
Компания Boosta.

MIME-типы файлов

«Файл не удалось загрузить из-за ошибки. Тип файла не подходит по соображениям безопасности».

Чтобы обойти это предупреждение, нужно добавить в белый список MIME-тип загружаемого файла.

Смотрите по теме:

Список предустановленных MIME-типов

Использование

Данные Mime типов в виде массива. См. что возвращает функция wp_get_mime_types().

Массив будет содержать элементы с ключем в видео регулярки для миме типа, например 'jpg|jpeg|jpe' и значением - сам миме тип, например 'image/jpeg' .

$user(число/WP_User/null) ID или объект юзера. Если указать null , то будет взят текущий пользователь.

Примеры

Если указать константу ALLOW_UNFILTERED_UPLOADS в плагине или файле wp-config.php , то администраторы (пользователи с правом unfiltered_upload ) смогут загружать файлы любых типов:

Список изменений

Где вызывается хук

Где используется хук в ядре WordPress

Спасибо! Добавил в описание упоминание об этой константе.

Не очень понятно куда этот код вставлять

Файл темы functions.php родимый.

В данный момент существует крайне неприятный баг, в результате которого добавить кастомный тип файла можно только используя комбо из константы 'ALLOW_UNFILTERED_UPLOADS' и фильтра 'upload_mimes'. Подробнее тут. Надеюсь, поможет кому-то сэкономить пару часов времени, т.к. баг не слишком спешат фиксить.

Столкнулся с проблемой на WP 5.8.2 + Classic Editor акт. версии, хотя по ссылке с github обсуждение вообще про Gutenberg.

P.S. в статье есть неточность:

Если указать константу ALLOW_UNFILTERED_UPLOADS в плагине или файле wp-config.php, то администраторы (пользователи с правом unfiltered_upload) смогут загружать файлы любых типов

На обычном сайте (не мультисайте) загружать любой файл сможет любая роль, если мой английский меня не подводит. Пруф взят отсюда.

Для более старых документов .doc этого было достаточно:

Какой тип mime следует использовать для новых документов docx? Также для документов pptx и xlsx?

Для получения более подробной информации ознакомьтесь с этой статьей TechNet и этой публикацией в блоге.

Вот (почти) завершить все расширения файлов MIME в формате JSON. Просто сделайте пример: MIME ["ppt"], MIME ["docx"] и т.д.

Напр. код ниже особенно полезен, когда пользователь может предоставить любой из.xls,.xlsx или.xlsm, и вы не хотите писать расширение тестирования кода и поставлять MIME-тип для каждого из них. Пусть система выполнит эту работу.

Использование python-magic

Использование встроенного модуля mimeypes - Отображение имен файлов в модулях MimeTypes

Операционная система зависит

Он будет использовать реализации FileTypeDetector для проверки типа MIME и вызывает метод probeContentType для каждой реализации для разрешения типа. Следовательно, если файл известен реализациям, возвращается тип содержимого. Однако, если это не происходит, вызывается детектор типа файла по умолчанию.

Разрешить использование первых нескольких символов входного потока

Использование встроенной таблицы типов MIME

Он возвращает матрицу типов MIME, используемых всеми экземплярами URLConnection, которая затем используется для разрешения типа входного файла. Однако эта матрица типов MIME очень ограничена, когда дело доходит до URLConnection.

Интерпретировать значение Magic Number с помощью API FileReader

Окончательный результат выглядит примерно так, когда вы используете javaScript для извлечения MimeType на основе фильтра. Откройте встроенный jsFiddle, чтобы увидеть и понять этот подход.

Бонус: он доступен для большинства типов MIME, а также вы можете добавлять пользовательские типы Mime в функцию getMimetype. Кроме того, у него есть ПОЛНАЯ ПОДДЕРЖКА для MIM-типов файлов MS Office.

FileReader API Result

Шаги для вычисления типа mime для файла в этом примере:

  1. Пользователь выбирает файл.
  2. Возьмите первые 4 байта файла, используя метод среза.
  3. Создайте новый экземпляр FileReader
  4. Используйте FileReader для чтения 4 байтов, вырезанных в виде буфера массива.
  5. Поскольку буфер массива - всего лишь общий способ представления двоичного буфера, нам нужно создать TypedArray, в данном случае Uint8Array.
  6. С помощью TypedArray мы можем получить каждый байт и преобразовать его в шестнадцатеричный (используя toString (16)).
  7. Теперь у нас есть способ получить магические числа из файла, читая первые четыре байта. Последний шаг - сопоставить его с реальным типом mime.

FileReader API

Поддержка браузера (выше 95% в целом и до 100% во всех современных браузерах):

Я хотел бы удалить все «поддельные ответы», все еще используя расширение файла, когда требование четко говорит НЕ использовать расширение! Это может быть старый вопрос, но проблема все еще остается. Я бы понизил здесь каждый ответ на основании того, что они проверяют только исполняемые файлы Windows по их содержимому; как насчет исполняемых файлов Linux или iOS или опасных файлов?

В Urlmon.dll есть функция с именем FindMimeFromData .

Обнаружение типа MIME, или «анализ данных», относится к процессу определения соответствующего типа MIME из двоичных данных. Окончательный результат зависит от комбинации предоставленных сервером заголовков MIME-типа, расширения файла и / или самих данных. Обычно значимы только первые 256 байтов данных.

Итак, прочитайте первые (до) 256 байтов из файла и передайте его FindMimeFromData .

Docx - это zip-файл, но mimetype для .docx - «application / vnd.openxmlformats-officedocument.wordprocessingml.document». Хотя это МОЖЕТ быть определено на основе только двоичного анализа, это, вероятно, не самый эффективный способ сделать это, и в большинстве случаев вам придется читать более первых 256 байтов.

Я использовал urlmon.dll в конце. Я думал, что будет более легкий путь, но это работает. Я включил код, чтобы помочь кому-то еще и позволить мне найти его снова, если мне это нужно.

Я тестировал этот код с IIS 7, и он не работал для меня. У меня есть файл CSV, который я тестирую. Я менял расширение CSV (на .jpg, .jpg и т. Д.), И mimetype меняется вместе с расширением (image / png, image / jpeg). Я могу ошибаться, но я понял, что Urlmon.dll определял mime-тип, используя метаданные файла, а не только его расширение

Я нашел жестко запрограммированное решение, надеюсь, я помогу кому-нибудь:

Однако это основано на имени файла. Это может быть полезно для кого-то, но не для ОП, который хочет сделать это с помощью содержимого файла. Подмножество этого списка также удобно для отображения WebImage.ImageFormat обратно в тип MIME. Спасибо! В зависимости от вашей цели вы можете захотеть вернуть «application / octet-stream» вместо «unknown / unknown». Поскольку мое редактирование было отклонено, я опубликую здесь: расширение должно быть в нижнем регистре, иначе оно не будет найдено в словаре.

Изменить: просто используйте Mime Detective

Я использую последовательности байтовых массивов, чтобы определить правильный тип MIME для данного файла. Преимущество этого перед просмотром расширения файла с именем файла состоит в том, что если бы пользователь переименовал файл, чтобы обойти ограничения на загрузку определенных типов файлов, расширение имени файла не смогло бы это уловить. С другой стороны, получение подписи файла через байтовый массив предотвратит это вредное поведение.

Обратите внимание, что я обрабатывал типы файлов DOCX по-разному, поскольку DOCX - это просто ZIP-файл. В этом сценарии я просто проверяю расширение файла, как только убедился, что оно имеет эту последовательность. Этот пример далек от завершения для некоторых людей, но вы можете легко добавить свой собственный.

Если вы хотите добавить больше типов MIME, вы можете получить последовательности байтовых массивов многих различных типов файлов отсюда . Кроме того, вот еще один хороший ресурс, касающийся подписей файлов.

То, что я делаю много раз, если все остальное терпит неудачу, это пошагово просматривает несколько файлов определенного типа, которые я ищу, и ищу шаблон в последовательности байтов файлов. В конце концов, это все еще базовая проверка, и ее нельзя использовать для 100% подтверждения определения типов файлов.



Тем кто часто пользуется программами LibreOffice приходится прикреплять их значки на панели Unity для быстрого запуска приложений:


Собственно говоря, для того и служит панель Unity, но есть и другие программы, которые пользователь также часто использует и выводит на панель. Порой от обилия значков, панель сжимается в "гармошку". Это также допустимо по умолчанию в дистрибутивах Ubuntu, но мы сейчас попробуем "разгрузить" панель, установкой в основном значке LibreOffice меню быстрого запуска (Quicklist) из всех офисных приложений:


Итак, как создать меню быстрого запуска (Quicklist)?

1. Скопируйте оригинальный файл libreoffice-startcenter.desktop в ваш домашний каталог для дальнейщего редактирования следующей командой:

sudo cp /usr/share/applications/libreoffice-startcenter.desktop

2. Теперь откройте файловый редактор на редактирование файла libreoffice-startcenter.desktop:

3. Найдите в файле следующую строку:

MimeType=application/vnd.openofficeorg.extension;

И замените её на следующее (скопировать/вставить):

4. Здесь же, в самый низ файла скопируйте и вставьте следующее:

[Writer Shortcut Group]
Name=Writer
Exec=libreoffice -writer %U
TargetEnvironment=Unity

[Impress Shortcut Group]
Name=Impress
Exec=libreoffice -impress %U
TargetEnvironment=Unity

[Calc Shortcut Group]
Name=Calc
Exec=libreoffice -calc %U
TargetEnvironment=Unity

[Math Shortcut Group]
Name=Math
Exec=libreoffice -math %U
TargetEnvironment=Unity

[Draw Shortcut Group]
Name=Draw
Exec=libreoffice -draw %U
TargetEnvironment=Unity

5. Сохраните файл и закройте редактор.

6. Перезагрузите систему.

После нового входа вы должны обнаружить меню быстрого запуска в основном значке LibreOffice на панели Unity.

Читайте также: