¿Existe un tipo MIME genérico para todos los archivos de imagen?

27

Sé que puedo usar los tipos mime específicos que se enumeran, por ejemplo , aquí , o un tipo mime genérico para cualquier archivo application/octet-stream, pero ¿hay un tipo mime genérico para todos los archivos de imagen?

(Quiero editar un .desktoparchivo en Linux Mint KDE para crear una entrada de menú contextual 'Acción' en Dolphin File Manager que solo se mostrará para archivos de imagen).

Excellll
fuente
1
¿ image/*Funcionaría (como lo hacen los navegadores)?
Boldewyn
@Boldewyn: image/*funciona para el propósito indicado en mi pregunta, incluso para svgarchivos, es decir, como una entrada de escritorio como MimeType=image/*. Responda esta pregunta más específica a la que comenta es la respuesta.

Respuestas:

26

¿Existe un tipo MIME genérico para todos los archivos de imagen?

Normalmente no existe, pero hay un par de excepciones documentadas más adelante en esta respuesta.

Necesita un Tipo Mime para saber cómo procesar un archivo (sin tener que leer el encabezado del archivo).

Notas:

  • No todos los archivos de imagen tienen un encabezado que identifica su tipo.

  • Los archivos SVG , por ejemplo, son solo archivos XML. Por lo tanto, sin el tipo MIME o la extensión correctos, no habría forma de identificar correctamente el tipo de archivo.

  • Los tipos MIME se especifican como Tipo de contenido / subtipo

  • No hay un tipo Mime image/generic(consulte "Lecturas adicionales" a continuación para ver la lista completa de los subtipos de imágenes registradas por la IANA).


¿Significa que hay un tipo MIME para múltiples archivos de imagen?

No hay un solo Content-Type/subtype que cubra múltiples formatos de imagen.

En teoría, podría usar un subtipo desconocido, como image/xyzW3C dice explícitamente:

"un tipo de contenido image/xyzes suficiente para decirle a un agente de usuario que los datos son una imagen, incluso si el agente de usuario no tiene conocimiento del formato de imagen específico xyz...", tal acción podría ser razonable para subtipos de texto no reconocidos, pero no para subtipos de imagen o audio no reconocidos "

En general, el Tipo de contenido de nivel superior se utiliza para declarar el tipo general de datos, mientras que el subtipo especifica un formato específico para ese tipo de datos.

Por lo tanto, un tipo de contenido de "imagen / xyz" es suficiente para decirle a un agente de usuario que los datos son una imagen, incluso si el agente de usuario no tiene conocimiento del formato de imagen específico "xyz".

Dicha información se puede usar, por ejemplo, para decidir si mostrar o no a un usuario los datos sin procesar de un subtipo no reconocido; tal acción podría ser razonable para los subtipos de texto no reconocidos, pero no para los subtipos de imagen o audio no reconocidos.

Por esta razón, los subtipos registrados de audio, imagen, texto y video no deben contener información incrustada que sea realmente de un tipo diferente. Dichos tipos compuestos deben representarse utilizando los tipos "multiparte" o "aplicación".

Fuente W3C - El campo de encabezado de tipo de contenido


¿Puedo usar un comodín como image/*para mi caso especial?

para que pueda usarse para mi propósito sin la necesidad de especificar las extensiones de archivo / mimes singulares?

Sí. Como ha señalado, se puede usar un comodín al especificar la "Entrada de escritorio" para los entornos de escritorio KDE y GNOME.

Sin embargo, tenga en cuenta que Key = MimeTypeestá en desuso porque hay un nuevo estándar para esto.

Type=MimeTypeestá en desuso ya que ahora hay un nuevo estándar para esto, consulte la especificación de la base de datos MIME-información compartida para obtener más información. En consecuencia, los patrones de claves (varias extensiones de nombre de archivo asociadas con el tipo MIME) y DefaultApp (la aplicación predeterminada asociada con este tipo MIME) también están en desuso.

Especificación de entrada de escritorio de origen

También puede usar comodines para los tipos mime en IIS, pero se recomienda no hacer esto:

También puede configurar IIS para servir tipos de archivos indefinidos agregando un carácter MIME de carácter comodín (*).

No utilice tipos MIME comodín en los servidores de producción. Hacerlo puede hacer que IIS sirva archivos no reconocidos y muestre información confidencial a los usuarios.

Los tipos MIME comodín están destinados a fines de prueba o en escenarios en los que los filtros de API de servidor de Internet (ISAPI) se han desarrollado específicamente para manejar estos escenarios comodín, por ejemplo, una autenticación ISAPI personalizada.

Fuente Crear tipos MIME globales


Otras lecturas

DavidPostill
fuente
¿Significa que hay un tipo mime para múltiples archivos de imagen, no todos, sino muchos, para que pueda usarse para mi propósito sin la necesidad de especificar las extensiones de archivo / mimes singulares?
2
@cipricus No hay un solo content-type/subtype que cubra múltiples formatos de imagen.
DavidPostill
@cipricus Respuesta actualizada para abordar su comentario.
DavidPostill
como se indica en un comentario debajo de mi pregunta, image/*funciona para el propósito indicado en mi pregunta, incluso para svgarchivos, es decir, como una entrada de escritorio como MimeType=image/*.
Puede funcionar bien, pero de acuerdo con la Especificación de entrada de escritorio - " Type=MimeTypeestá en desuso ya que ahora hay un nuevo estándar para esto, consulte la especificación de la base de datos MIME-información compartida para obtener más información. En consecuencia, los Patrones de claves (varias extensiones de nombre de archivo asociadas con el "Tipo MIME) y DefaultApp (la aplicación predeterminada asociada con este tipo MIME) también están en desuso".
DavidPostill
2

De acuerdo con esta respuesta SO, no hay un tipo MIME genérico. El problema es que el tipo MIME siempre está compuesto por un tipo, un subtipo y un parámetro opcional: Type/Subtype; Parameter(ver aquí ). Solo desea usar el tipo, pero por definición se requiere un subtipo y no hay un subtipo genérico. Puede encontrar una lista de todos los tipos de imágenes aquí .

jrast
fuente
Curiosamente, esa lista de "todos" los tipos de imágenes tiene espacios en blanco para gify jpeg, mientras que esta lista sitepoint.com/web-foundations/mime-types-complete-list muestra que son image/gify image/jpegrespectivamente.
user664833