Список ВСЕХ MimeTypes на Планете, сопоставленных с Файловыми Расширениями?
Есть ли ресурс, который перечисляет ВСЕ существующие mimeTypes?
Я нашел несколько мест с менее чем 1000 mimeTypes, но они все еще не включают в себя такие, как.rar, .fla, .rb, .docx!
У кого-нибудь есть ПОЛНЫЙ список миметипов? Не до самых очевидных "только для компаний", но по крайней мере до тех, которые мы могли бы использовать.
Кроме того, я ищу список, который сопоставляет расширения файлов с mimeTypes.
13 ответов
http://www.iana.org/assignments/media-types/ перечисляет "официальные" типы пантомимы, но это не мешает никому создавать свои собственные и не регистрировать его в IANA.
Вот самые актуальные mime.types, поддерживаемые HTTPD-сообществом Apache: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/conf/mime.types?view=annotate
IANA перечисляет официальные. Список, который включает в себя расширения файлов, которые я считаю полезными, это тот, который включен в /etc/mime.types
в Debian и Ubuntu.
Я собрал MIME-типы и расширения файлов со многих сайтов и списков, и вот результат: https://s-randomfiles.s3.amazonaws.com/mime/allMimeTypes.txt
Я также создал файл JSON: https://s-randomfiles.s3.amazonaws.com/mime/allMimeTypes.json
Пожалуйста, скажите мне, если что-то отсутствует или неверно
Яна отслеживает официальные, но, конечно, люди всегда могут заявить о своих...
Другими словами, сомнительно, что вы когда-нибудь получите полный список на планете.
Также рассмотрим случай с плагинами NPAPI, которые объявляют MIME-типы просто доступными... и эти MIME-типы могут быть вам не интересны по той или иной причине.
Если вы используете Java, вы можете использовать Apache Tika, мощную библиотеку для работы с типами файлов. С его помощью вы можете легко получить предпочтительное расширение, связанное с типом mime, с помощью пары строк:
TikaConfig config = TikaConfig.getDefaultConfig();
MimeType mimeType = config.getMimeRepository().forName("image/png"); //Generally your textual mime type
String extension = mimeType.getExtension();
// this would return the extension with the dot. For "image/png" returns ".png"
Таким образом, вам не нужно возиться с загрузкой и анализом файла с ассоциациями, я нахожу это очень удобным. Это способ, которым я сделал трюк.
Хорошую таблицу типов пантомимы можно найти по https://drive.google.com/open?id=0By00BwrZ8886VUg3ak9faG5mTU0 которая обновлена 27-02-2017. Уверен, что удовлетворят все ваши мимы нужного типа.
Есть хорошая таблица в классической книге "HTTP: Полное руководство" Гурли и Тотти (О'Рейли, с белкой на обложке) в Приложении D. Похоже, что она полна и актуальна на то время книга была написана (в 2002 году). Это было давно, но там вы найдете все старые фавориты, а также малоизвестные "только для компании".
ISBN 1-56592-509-2, http://oreilly.com/catalog/9781565925090/
На этом сайте перечислены еще некоторые, такие как.docx http://www.freeformatter.com/mime-types-list.html
Вот полный список, который прост на глаз:
Я взял список из Apache mime.types по состоянию на пт. 29 сентября 15:10:29 2017 UTC и написал скрипт для преобразования его в отображение json. JSON слишком велик для ответа stackru. Вы можете найти его здесь mimes.json.
скрипт для генерации сопоставления:
# mime_to_json.py
# get the mime.types from
# http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/conf/mime.types?view=markup
import sys
import re
import json
mapping = {}
with open(sys.argv[1], "r") as handle:
for line in handle:
line = line.strip()
if line[0] == "#":
continue
parts = re.split("\s+", line)
mime = parts[0]
del parts[0]
for ext in parts:
mapping[ext] = mime
print(json.dumps(mapping, indent=4, sort_keys=True))
Пользователь Paul Tarjan сказал в комментарии:
На stdicon.com есть довольно хороший список: http://www.stdicon.com/mimetypes
Этот веб-сайт больше недоступен, но самым последним архивом является https://web.archive.org/web/20161015175648/http://www.stdicon.com/mimetypes
Обратите внимание, что этот сайт не упоминает "application/x-zip-compress" (и это не из-за экранирования слешей), поэтому он не идеален.