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

27

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

(Eu quero editar um .desktoparquivo no Linux Mint KDE para criar uma entrada do menu de contexto 'Ação' no Dolphin File Manager que seria mostrada apenas para arquivos de imagem.)

Excellll
fonte
1
Funcionaria image/*(como os navegadores)?
precisa saber é o seguinte
@Boldewyn - image/*funciona para a finalidade indicada na minha pergunta, mesmo para svgarquivos - ou seja, como uma entrada na área de trabalho MimeType=image/*. Por favor, responda a esta pergunta mais específica à qual você comenta é a resposta.

Respostas:

26

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

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

Você precisa de um Tipo MIME para saber como processar um arquivo (sem precisar 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 ou extensão de mim correto, não haveria maneira de identificar corretamente o tipo do arquivo.

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

  • Não há um tipo MIME image/generic(consulte "Leitura adicional" abaixo para obter a lista completa dos subtipos de imagens registradas pela IANA).


Isso significa que existe um tipo MIME para vários arquivos de imagem?

Não existe um Content-Type/subtype que cubra vários formatos de imagem.

Em teoria, você pode usar um subtipo desconhecido, como o image/xyzW3C, mas diz explicitamente:

"um tipo de conteúdo image/xyzé suficiente para informar ao agente do usuário que os dados são uma imagem, mesmo que o agente do usuário não tenha conhecimento do formato específico da imagem 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 "

Em geral, o tipo de conteúdo de nível superior é usado para declarar o tipo geral de dados, enquanto o subtipo especifica um formato específico para esse tipo de dados.

Portanto, um tipo de conteúdo de "imagem / xyz" é suficiente para informar ao agente do usuário que os dados são uma imagem, mesmo que o agente do usuário não tenha conhecimento do formato específico da imagem "xyz".

Essas informações podem ser usadas, por exemplo, para decidir se os dados brutos devem ser mostrados ou não a um usuário de um subtipo não reconhecido - essa ação pode ser razoável para subtipos de texto não reconhecidos, mas não para subtipos de imagem ou áudio não reconhecidos.

Por esse motivo, os subtipos registrados de áudio, imagem, texto e vídeo não devem conter informações incorporadas que sejam realmente de um tipo diferente. Esses tipos de compostos devem ser representados usando os tipos "multipart" ou "application".

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


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

para que possa ser usado para o meu propósito, sem a necessidade de especificar as extensões / mimos de arquivo singulares?

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

No entanto, observe que Key = MimeTypeestá obsoleta, pois há um novo padrão para isso.

Type=MimeTypefoi descontinuado porque há um novo padrão para isso agora, consulte a especificação do banco de dados MIME-info compartilhado para obter mais informações. Consequentemente, os Padrões de Chaves (várias extensões de nome de arquivo associadas ao tipo MIME) e DefaultApp (o aplicativo padrão associado a esse tipo MIME) também foram preteridos.

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

Você também pode usar curingas para tipos de mímica no IIS, mas é recomendável não fazer isso:

Você também pode configurar o IIS para servir tipos de arquivos indefinidos adicionando um tipo MIME de caractere curinga (*).

Não use tipos MIME curinga em servidores de produção. Fazer isso pode resultar no IIS veicular arquivos não reconhecidos e exibir informações confidenciais para os usuários.

Os tipos MIME curinga são destinados a fins de teste ou em cenários em que os filtros da API do servidor Internet (ISAPI) foram desenvolvidos especificamente para lidar com esses cenários curinga, por exemplo, um ISAPI de autenticação personalizada.

Origem Criando tipos MIME globais


Leitura adicional

DavidPostill
fonte
Isso significa que existe um tipo MIME para vários arquivos de imagem - não todos, mas muitos, para que possa ser usado para o meu propósito sem a necessidade de especificar extensões / mimos de arquivo singulares?
2
@cipricus Não existe um content-type/subtype que cubra vários formatos de imagem.
DavidPostill
@cipricus Resposta atualizada para endereçar seu comentário.
DavidPostill
conforme indicado em um comentário da minha pergunta, image/*funciona com o objetivo indicado na minha pergunta, mesmo para svgarquivos - ou seja, como uma entrada da área de trabalho MimeType=image/*.
Pode funcionar bem, mas de acordo com a especificação de entrada da área de trabalho - " Type=MimeTypeestá obsoleta, pois há um novo padrão para isso agora, consulte a especificação do banco de dados de informações MIME compartilhadas para obter mais informações. Consequentemente, os padrões de chaves (várias extensões de nome de arquivo associadas ao Tipo MIME) e DefaultApp (o aplicativo padrão associado a esse tipo MIME) também estão obsoletos. "
DavidPostill
2

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

jrast
fonte
Estranhamente, essa lista de "todos" os tipos de imagem tem espaços em branco para gife jpeg, enquanto essa lista sitepoint.com/web-foundations/mime-types-complete-list mostra que eles são image/gife image/jpegrespectivamente.
user664833