Jak przypisać (ustawić) typ MIME do pliku?

15

Czy jest jakieś polecenie, które może ustawić typ pliku MIME? na przykład:

mime --set --MIME="image/pjpeg" filename.jpg  
PHP Learner
źródło
Jest dość stary, ale może nadal jest przydatny: rlog.rgtti.com/2010/11/22/... (przepraszam, nie ma czasu, aby go wykopać ...). Dodaj odpowiedź, jeśli to działa!
Rmano,
możliwy duplikat Jak zmienić typ MIME dla pliku?
Sylvain Pineau
2
@SylvainPineau Pytanie, które podłączyłeś, jest podobne, ale nie jest duplikatem, i nie ma odpowiedzi na moje pytanie w tym łączu ani żadnej odpowiedzi na samo pytanie o łącze! W oparciu o zaakceptowaną odpowiedź w tym łączu problem z pytającym nie był typem MIME, ale była to sama zawartość pliku.
PHP Learner
2
@PHPLearner Spójrz na help.ubuntu.com/community/AddingMimeTypes , zwłaszcza wykorzystanie plików xml iupdate-mime-database
Sylvain Pineau
2
@PHPLearner: Usunąłem mój ścisły głos
Sylvain Pineau,

Odpowiedzi:

4

Pytanie jest już odpowiedział przez @PHPLearnerw komentarzu. Oto jednak dłuższa odpowiedź.

Nie ma określonego polecenia takiego mimejak zadane w pytaniu i bez wątpienia można utworzyć jedno takie polecenie. Aby dodać nowy typ MIME, wystarczy edytować /etc/mime.typesplik.

Powiedzmy, że chcesz dodać typ MIME z rozszerzeniem .btc, a następnie

1. Sprawdź, czy typ MIME już istnieje

Otwórz wiersz poleceń i wprowadź poniższy wiersz (zamień btcna rozszerzenie)

grep 'btc' /etc/mime.types

Teraz to polecenie wyświetli wiersz, jeśli ten typ MIME jest już dodany. Wygląda to tak dla określonych wyszukiwań 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

Jeśli twoje rozszerzenie nie wyświetla żadnych wierszy (jak btcw tym przypadku) lub jeśli wyprowadzane linie nie zawierają twojego rozszerzenia, musisz utworzyć nowy typ MIME. W przeciwnym razie twoje rozszerzenie ma już typ MIME zawarty w pliku /etc/mime.types.

2.1 Tworzenie typu MIME (JEŚLI potrzebne)

Jeśli nie było danych wyjściowych lub dane wyjściowe nie zawierały Twojego rozszerzenia, musimy dodać typ MIME. Dla tego typu w wierszu poleceń

gksudo gedit /etc/mime.types

Zmodyfikuj następujący tekst, aby słowo „rozszerzenie” zostało zastąpione rozszerzeniem pliku (bez znaku kropki), dodaj linię na końcu mime.typespliku i zapisz. Tutaj naszym rozszerzeniem jest bitcoin i piszemy btc(NIE .btc), które będzie postrzegane jako rozszerzenie plików bitcoin.

text/extension                   extension

I skopiuj zmodyfikowaną część „tekst / rozszerzenie”.

W naszym przypadku będzie to wyglądać

text/bitcoin-text                btc

Zapisz plik i wyjdź.

2.2 Dodanie typu MIME za pomocą .xmlpliku iupdate-mime-database

Jeśli edycja /etc/mime.typespliku nie działa dla twojego rozszerzenia, możesz wypróbować to obejście.

Utwórz nowy .xmlplik, który opisuje twoje rozszerzenie w ten sposób i zapisz go.

<?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>

Teraz dodaj ten plik do /usr/share/mime/applicationfolderu. Po dodaniu lub zmodyfikowaniu, czego potrzebujesz, uruchom polecenie

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

3. Dodanie ikony do typu MIME

Teraz musimy powiązać ikonę z typem MIME. Pobierz ikonę SVG i nadaj jej nazwę „text-extension.svg” lub dowolną nazwę zmodyfikowanego typu MIME; będzie to ikona reprezentująca wszystkie wystąpienia typu MIME w twoim systemie.

Tak więc zmieniamy nazwę pliku .svg, aby pasował do bitcoin-text.svg (lub „insertYourMIMEtype.svg”), tak aby slashes are replaced with "-"istniały no capital letters.

Następnie uruchom następujące polecenia, zastępując tekst „bitcoin-text” typem MIME.

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

Ponowne zalogowanie i wszystkie pliki z rozszerzeniem MIME będą wyświetlane z tą ikoną.

C0deDaedalus
źródło
1
naprawdę musisz dodać plik xml do / usr / share / mime / packages, jeśli dodasz go do / usr / share / mime / application po uruchomieniu update-mime-database, zostanie on usunięty
Vlax