Come assegnare (impostare) un tipo MIME a un file?


14

Esiste un comando che potrebbe impostare il tipo MIME di un file? per esempio:

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

È piuttosto vecchio, ma forse è ancora utile: rlog.rgtti.com/2010/11/22/… (scusate, non ho tempo di scavarlo adesso ...). Aggiungi una risposta se funziona!
Rmano,


2
@SylvainPineau La domanda che hai collegato è simile ma non è un duplicato e non c'è risposta alla mia domanda in quel link, né alcuna risposta alla domanda di link stessa! Sulla base della risposta accettata in quel link, il problema di chi asker non era il tipo MIME, ma era il contenuto del file stesso.
Studente PHP,

2
@PHPLearner Guarda help.ubuntu.com/community/AddingMimeTypes , in particolare l'uso di file xml eupdate-mime-database
Sylvain Pineau,

2
@PHPLearner: ho rimosso il mio voto ravvicinato
Sylvain Pineau,

Risposte:


3

La domanda è già una risposta da parte @PHPLearnerin un commento. Tuttavia, ecco una risposta più lunga.

Non esiste un comando particolare come mimequello richiesto nella domanda, e senza dubbio è possibile creare uno di questi comandi. Per aggiungere un nuovo tipo MIME, basta modificare il /etc/mime.typesfile.

Supponiamo che tu voglia aggiungere il tipo MIME con l'estensione .btc, quindi

1. Controlla se il tipo MIME esiste già

Apri una riga di comando e inserisci la riga seguente (sostituisci btccon l'estensione)

grep 'btc' /etc/mime.types

Ora, questo comando genererà una riga, se quel tipo MIME è già stato aggiunto. Sembra così per particolari ricerche 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

Se l'estensione non btcgenera alcuna riga (come in questo caso) o se le righe prodotte non includono la propria estensione, è necessario creare un nuovo tipo MIME. In caso contrario, l'estensione ha già un tipo MIME incluso nel file /etc/mime.types.

2.1 Creazione del tipo MIME (SE necessario)

Se non è stato generato alcun output o se l'output fornito non include l'estensione, è necessario aggiungere un tipo MIME. Per quel tipo alla riga di comando

gksudo gedit /etc/mime.types

Modificare il testo seguente in modo che la parola "estensione" venga sostituita con l'estensione del file (nessun segno di punto), aggiungere la riga alla fine del mime.typesfile e salvare. Qui la nostra estensione è bitcoin e scriviamo btc(NON .btc) che verrà visto come estensione per i file bitcoin.

text/extension                   extension

E copia la parte "testo / estensione" modificata.

Nel nostro caso sembrerà

text/bitcoin-text                btc

Salva il file ed esci.

2.2 Aggiunta del tipo MIME utilizzando .xmlfile eupdate-mime-database

Se la modifica del /etc/mime.typesfile non funziona per la tua estensione, puoi provare questa soluzione alternativa.

Crea un nuovo .xmlfile che descriva la tua estensione in questo modo e salvala.

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

Ora aggiungi questo file nella /usr/share/mime/applicationcartella. Dopo aver aggiunto o modificato tutto ciò di cui hai bisogno, esegui il comando

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

3. Aggiunta di un'icona al tipo MIME

Ora dobbiamo associare un'icona al tipo MIME. Ottieni un'icona SVG e chiamala "text-extension.svg", o qualunque sia il tuo nome MIME modificato; questa sarà l'icona per rappresentare tutte le istanze del tipo MIME sul tuo sistema.

Quindi, rinominiamo il file .svg in modo che corrisponda a bitcoin-text.svg (o "insertYourMIMEtype.svg") in modo che il slashes are replaced with "-"e ci siano no capital letters.

Quindi esegui semplicemente i seguenti comandi, con 'bitcoin-text' sostituito con il tuo tipo MIME.

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

Accedi nuovamente e tutti i file che terminano con l'estensione MIME verranno visualizzati con quell'icona.


in realtà è necessario aggiungere il file xml a / usr / share / mime / pacchetti, se lo si aggiunge a / usr / share / mime / application quando si esegue update-mime-database verrà cancellato
Vlax
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.