¿Cómo asignar (establecer) un tipo MIME a un archivo?


14

¿Hay algún comando que pueda establecer el tipo MIME de un archivo? por ejemplo:

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

Es bastante antiguo, pero tal vez todavía sea útil: rlog.rgtti.com/2010/11/22/… (lo siento, no hay tiempo para desenterrarlo ahora ...). ¡Agregue una respuesta usted mismo si funciona!
— Rmano


2
@SylvainPineau ¡La pregunta que ha vinculado es similar pero no es un duplicado y no hay respuesta a mi pregunta en ese enlace, ni ninguna respuesta a la pregunta del enlace en sí! Según la respuesta aceptada en ese enlace, el problema del autor de la pregunta no era el tipo MIME, sino el contenido del archivo.
— PHP Learner

2
@PHPLearner Mira help.ubuntu.com/community/AddingMimeTypes , especialmente el uso de archivos xml yupdate-mime-database
— Sylvain Pineau

2
@PHPLearner: Eliminé mi voto cercano
— Sylvain Pineau,

Respuestas:


3

La pregunta es ya respondió por @PHPLearneren un comentario. Sin embargo, aquí hay una respuesta más larga.

No hay un comando en particular como el mimeque se hace en la pregunta, y sin duda se puede crear uno de estos comandos. Para agregar un nuevo tipo MIME, todo lo que se necesita es editar el /etc/mime.typesarchivo.

Digamos que desea agregar el tipo MIME con extensión .btc, luego

1. Compruebe si el tipo MIME ya existe

Abra una línea de comando e ingrese la siguiente línea (reemplace btccon su extensión)

grep 'btc' /etc/mime.types

Ahora, este comando generará una línea, si ese tipo MIME ya está agregado. Se ve así para búsquedas MIME particulares

$ 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

Si su extensión no genera ninguna línea (como btcen este caso), o si las líneas desactualizadas no incluyen su extensión, debe crear un nuevo tipo MIME. De lo contrario, su extensión ya tiene un tipo MIME incluido en el archivo /etc/mime.types.

2.1 Crear el tipo MIME (SI es necesario)

Si no hubo salida, o la salida dada no incluyó su extensión, debemos agregar un tipo MIME. Para ese tipo en la línea de comando

gksudo gedit /etc/mime.types

Modifique el siguiente texto para que la palabra "extensión" se reemplace con su extensión de archivo (sin marca de punto), agregue la línea al final del mime.typesarchivo y guárdela. Aquí nuestra extensión es bitcoin y escribimos btc(NO .btc) que se verá como una extensión para los archivos bitcoin.

text/extension                   extension

Y copie la parte modificada 'texto / extensión'.

En nuestro caso se verá como

text/bitcoin-text                btc

Guarda el archivo y cierra.

2.2 Agregar tipo MIME usando el .xmlarchivo yupdate-mime-database

Si la edición del /etc/mime.typesarchivo no funciona para su extensión, puede probar esta solución alternativa.

Cree un nuevo .xmlarchivo que describa su extensión como esta y guárdelo.

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

Ahora agregue este archivo a la /usr/share/mime/applicationcarpeta. Después de agregar o modificar lo que necesite, ejecute el comando

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

3. Agregar un icono al tipo MIME

Ahora necesitamos asociar un icono con el tipo MIME. Obtenga un icono SVG y asígnele el nombre "text-extension.svg", o como se llame su tipo MIME modificado; este será el icono para representar todas las instancias del tipo MIME en su sistema.

Por lo tanto, cambiamos el nombre del archivo .svg para que coincida con bitcoin-text.svg (o "insertYourMIMEtype.svg") para que slashes are replaced with "-"se encuentren no capital letters.

Luego, simplemente ejecute los siguientes comandos, con 'bitcoin-text' reemplazado por su tipo MIME.

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

Reiniciar y todos los archivos que terminan en la extensión MIME se mostrarán con ese icono.


en realidad necesita agregar el archivo xml a / usr / share / mime / packages, si lo agrega a / usr / share / mime / application cuando ejecuta update-mime-database, se borrará
— Vlax
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.