Як призначити (встановити) тип MIME файлу?


15

Чи є якась команда, яка могла б встановити тип файлу MIME? наприклад:

mime --set --MIME="image/pjpeg" filename.jpg  

Він досить старий, але, можливо, все-таки корисний: rlog.rgtti.com/2010/11/22/… (вибачте, зараз немає часу його викопувати ...). Будь ласка, додайте відповідь самостійно, якщо вона працює!
Рмано


2
@SylvainPineau Питання, яке ви пов’язали, схоже, але не є дублікатом, і на моє запитання в цьому посиланні немає відповіді, ані на якусь відповідь на відповідне запитання. Виходячи з прийнятої відповіді в цьому посиланні, проблема запитувача не була типу MIME, а саме вмістом файлу.
Учень PHP

2
@PHPLearner Подивіться на help.ubuntu.com/community/AddingMimeTypes , особливо використання файлів xml таupdate-mime-database
Sylvain Pineau,

2
@PHPLearner: Я зняв свій голос, який закрився
Сильвен Піно,

Відповіді:


4

Питання буде вже відповів на @PHPLearnerв коментарі. Однак ось довша відповідь.

Немає конкретної команди на зразок mimeзапитання у питанні, і без сумніву, одна така команда може бути створена. Для додавання нового типу MIME потрібно лише редагувати /etc/mime.typesфайл.

Припустимо, ви хочете додати тип MIME з розширенням .btc, то

1. Перевірте, чи тип MIME вже існує

Відкрийте командний рядок і введіть рядок нижче (замініть btcрозширенням)

grep 'btc' /etc/mime.types

Тепер ця команда виведе рядок, якщо цей тип MIME вже доданий. Це виглядає приблизно так для конкретних MIME-пошуків

$ grep 'cpp' /etc/mime.types
text/x-c++src                        c++ cpp cxx cc

$ grep 'py' /etc/mime.types
application/x-python-code                       pyc pyo
text/vnd.debian.copyright
text/x-python                                   py 

$ grep 'btc' /etc/mime.types

Якщо ваше розширення не виводить жодних рядків (як btcу цьому випадку), або якщо вичерпані рядки не включають ваше розширення, ви повинні створити новий тип MIME. Інакше у вашому розширенні вже є тип MIME, включений у файл /etc/mime.types.

2.1 Створення типу MIME (якщо потрібно)

Якщо не було результату або поданий результат не включав ваше розширення, ми повинні додати тип MIME. Для цього типу в командному рядку

gksudo gedit /etc/mime.types

Змініть наступний текст, щоб слово "розширення" було замінено на ваше розширення (без позначки періоду), додайте рядок до кінця mime.typesфайлу та збережіть. Тут наше розширення - біткойн, і ми пишемо btc(НЕ .btc), що буде розглядатися як розширення для файлів біткойна.

text/extension                   extension

І скопіюйте змінену частину "текст / розширення".

У нашому випадку це буде виглядати так

text/bitcoin-text                btc

Збережіть файл та вийдіть.

2.2 Додавання типу MIME за допомогою .xmlфайлу таupdate-mime-database

Якщо редагування /etc/mime.typesфайлу не працює для вашого розширення, спробуйте це вирішити.

Створіть новий .xmlфайл, який описує ваше розширення на зразок цього та збережіть його.

<?xml version="1.0" encoding="utf-8"?>
<mime-type xmlns="http://www.freedesktop.org/standards/shared-mime-info" type="text/bitcoin-text">
<glob pattern="*.btc"/>
</mime-type>

Тепер додайте цей файл у /usr/share/mime/applicationпапку. Після того, як ви додали чи змінили все, що вам потрібно, запустіть команду

sudo update-mime-database /usr/share/mime

3. Додавання піктограми до типу MIME

Тепер нам потрібно пов’язати піктограму з типом MIME. Отримайте значок SVG та назвіть його "text-extension.svg", або як називається ваш модифікований тип MIME; це піктограма для представлення всіх примірників типу MIME у вашій системі.

Отже, ми перейменовуємо .svg файл так, щоб він відповідав bitcoin-text.svg (або "insertYourMIMEtype.svg"), так що slashes are replaced with "-"і є no capital letters.

Потім просто запустіть наступні команди, при цьому "bitcoin-text" замінено на ваш тип MIME.

 sudo cp bitcoin-text.svg /usr/share/icons/gnome/scalable/mimetypes
 sudo gtk-update-icon-cache /usr/share/icons/gnome/ -f

Перейдіть на сайт і всі файли, що закінчуються на розширенні MIME, відображатимуться з цим значком.


1
вам насправді потрібно додати файл xml до / usr / share / mime / пакети, якщо ви додасте його до / usr / share / mime / application, коли ви запустите update-mime-базу даних, вона буде
Vlax
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.