Para documentos * .doc mais antigos, isso era suficiente:
header("Content-Type: application/msword");
Que tipo mime devo usar para novos documentos docx? Também para documentos pptx e xlsx?
excel
ms-word
ms-office
powerpoint
mime-types
Richard Knop
fonte
fonte
file -bi YOUR_FILE
JPEG image data, EXIF standard
-i
bandeira é--mime
.image/jpeg; charset=binary
ondeimage/jpeg
é o tipo mime.Respostas:
Aqui estão os tipos MIME corretos do Microsoft Office para streaming de conteúdo HTTP:
Para mais detalhes, consulte este artigo do TechNet e esta postagem do blog .
fonte
Como alternativa, se você estiver trabalhando no .Net v4.5 ou superior, tente usar System.Web.MimeMapping.GetMimeMapping (yourFileName) para obter tipos MIME - muito melhores do que as strings de codificação codificada
fonte
Aqui está o (quase) completo MIME das extensões de arquivo em um formato JSON. Apenas faça o exemplo: MIME ["ppt"], MIME ["docx"], etc
fonte
Esta postagem explorará várias abordagens de busca do tipo MIME em várias linguagens de programação com seus CONS na descrição de uma linha como cabeçalho. Então, use-os de acordo e aquele que funciona para você.
Por exemplo. o código abaixo é especialmente útil quando o usuário pode fornecer .xls, .xlsx ou .xlsm e você não deseja escrever a extensão de teste de código e fornecer o tipo MIME para cada um deles. Deixe o sistema fazer esse trabalho.
Python 3
Usando python-magic
Usando o módulo mimeypes embutido - Mapeie os nomes de arquivos para os módulos MimeTypes
JAVA 7
Fonte: Blog da Baeldung sobre tipos de arquivo MIME em Java
Dependente do sistema operacional
Ele usará implementações de FileTypeDetector para analisar o tipo MIME e chamar o probeContentType de cada implementação para resolver o tipo. Portanto, se o arquivo é conhecido pelas implementações, o tipo de conteúdo é retornado. No entanto, se isso não acontecer, um detector de tipo de arquivo padrão do sistema é chamado.
Resolver usando os primeiros caracteres do fluxo de entrada
Usando tabela interna de tipos MIME
Retorna a matriz dos tipos MIME usados por todas as instâncias do URLConnection, que são usadas para resolver o tipo de arquivo de entrada. No entanto, essa matriz de tipos MIME é muito limitada quando se trata de URLConnection.
Por padrão, a classe usa o arquivo content-types.properties em JRE_HOME / lib. No entanto, podemos estendê-lo, especificando uma tabela específica do usuário usando a propriedade content.types.user.table:
Javascript
Fonte: API FileReader e artigo do Medium sobre o uso de números mágicos em JavaScript para obter tipos MIME
Interpretar o número mágico obtido usando a API FileReader
O resultado final se parece com isso quando se usa javaScript para buscar o MimeType com base no fluxo de arquivos. Abra o jsFiddle incorporado para ver e entender essa abordagem.
Bônus : é acessível para a maioria dos tipos MIME e você também pode adicionar tipos Mime personalizados na função getMimetype . Além disso, ele oferece suporte completo para tipos de MIME de arquivos do Microsoft Office.
As etapas para calcular o tipo mime para um arquivo neste exemplo seriam:
Suporte ao navegador (acima de 95% no geral e próximo a 100% em todos os navegadores modernos) :
Mostrar snippet de código
fonte
Caso alguém queira a resposta de Dirk Vollmar em uma declaração de chave C #:
fonte
Para carregar o arquivo .docx
fonte
Swift4
fonte
Um método de trabalho no android para preencher os tipos de mímica da lista de mapeamento.
fonte
Veja o MDN Web Docs .
Aqui está uma lista de tipos MIME, associados por tipo de documentos, ordenados por suas extensões comuns:
Tipos MIME comuns
fonte