Existe um tipo mime genérico para todos os arquivos de imagem?

23

Sei que posso usar os tipos-mime específicos listados, por exemplo, aqui , ou um tipo mime genérico para qualquer arquivo como application/octet-stream , mas existe um tipo mime genérico para todos os arquivos de imagem?

(Eu quero editar um arquivo .desktop no Linux Mint KDE para criar uma entrada de menu de contexto 'Action' no Dolphin File Manager que seria mostrada apenas para arquivos de imagem.)

    
por cipricus 28.09.2015 / 11:05

2 respostas

24

Existe um tipo mime genérico para todos os arquivos de imagem?

Normalmente não há, mas há algumas exceções documentadas mais adiante nesta resposta.

Você precisa de um Mime Type para saber como processar um arquivo (sem ter que ler o cabeçalho do arquivo).

Notas:

  • Nem todos os arquivos de imagem têm um cabeçalho que identifica seu tipo.

  • Arquivos SVG , por exemplo, são apenas arquivos XML. Portanto, sem o tipo MIME correto ou extensão, não haveria como identificar corretamente o tipo do arquivo.

  • Os tipos MIME são especificados como tipo / subtipo de conteúdo

  • Não existe um tipo de Mime image/generic (Veja "Outras leituras" abaixo para obter a lista completa de subtipos de imagens registradas da IANA).

Significa que há um tipo MIME para vários arquivos de imagem?

Não há único Content-Type/subtype que cubra vários formatos de imagem.

Em teoria, você poderia usar um Subtipo desconhecido, como image/xyz , mas o W3C diz explicitamente:

"um Content-Type de image/xyz é suficiente para informar a um agente do usuário que os dados são uma imagem, mesmo que o agente do usuário não tenha conhecimento do formato de imagem específico xyz ...", essa ação pode ser razoável para subtipos de texto não reconhecidos, mas não para subtipos não reconhecidos de imagem ou áudio "

In general, the top-level Content-Type is used to declare the general type of data, while the subtype specifies a specific format for that type of data.

Thus, a Content-Type of "image/xyz" is enough to tell a user agent that the data is an image, even if the user agent has no knowledge of the specific image format "xyz".

Such information can be used, for example, to decide whether or not to show a user the raw data from an unrecognized subtype -- such an action might be reasonable for unrecognized subtypes of text, but not for unrecognized subtypes of image or audio.

For this reason, registered subtypes of audio, image, text, and video, should not contain embedded information that is really of a different type. Such compound types should be represented using the "multipart" or "application" types.

Fonte W3C - O campo de cabeçalho do tipo de conteúdo

Posso usar um curinga como image/* para meu caso especial?

so that it can be used for my purpose without the need of specifying the singular file extensions/mimes?

Sim. Como você apontou, um caractere curinga pode ser usado ao especificar a "Entrada na área de trabalho" para os ambientes de área de trabalho do KDE e do GNOME.

No entanto, observe que Key = MimeType está obsoleto, pois há um novo padrão para isso.

Type=MimeType is deprecated as there is a new standard for this now, see the Shared MIME-info Database specification for more information. In consequence the Keys Patterns (various file name extensions associated with the MIME type) and DefaultApp (the default application associated with this MIME type) are also deprecated.

Fonte Especificação de entrada na área de trabalho

Você também pode usar curingas para os tipos MIME no IIS, mas é aconselhável que não faça isso:

You can also configure IIS to serve undefined file types by adding a wildcard character (*) MIME type.

Do not use wildcard MIME-types on production servers. Doing so can result in IIS serving unrecognized files and displaying sensitive information to users.

Wildcard MIME-types are intended for testing purposes or in scenarios where Internet Server API (ISAPI) filters have been developed specifically to handle these wildcard scenarios, for example, a custom authentication ISAPI.

Fonte Criando tipos globais de MIME

Outras leituras

por 28.09.2015 / 11:31
2

De acordo com esta resposta SO não existe um tipo MIME genérico. O problema é que o tipo MIME é composto sempre de um tipo, um subtipo e um parâmetro opcional: Type/Subtype; Parameter (veja aqui ). Você só deseja usar o tipo, mas, por definição, um subtipo é obrigatório e não há um subtipo genérico. Uma lista de todos os tipos de imagens pode ser encontrada aqui .

    
por 28.09.2015 / 11:29