Qual é o tipo MIME dos arquivos .xlsx?
O tipo MIME (media type) dos arquivos do Microsoft Excel com a extensão .xlsx é application/vnd.openxmlformats-officedocument.spreadsheetml.sheet. É um arquivo ZIP de XML, então já vem comprimido. Sirva com esse tipo exato para que os navegadores mantenham a extensão .xlsx no download.
Cabeçalho Content-Type
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8
Tipos baseados em texto devem incluir um charset para que o navegador decodifique os caracteres corretamente.
Configuração do servidor
| Servidor | Configuração |
|---|---|
Nginx (mime.types ou types {}) | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; |
Apache (.htaccess) | AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xlsx |
IIS (web.config) | <mimeMap fileExtension=".xlsx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> |
| Node.js / Express | res.type('xlsx') ou res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8') |
| Amazon S3 | Defina Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet no objeto (metadados), ou passe --content-type application/vnd.openxmlformats-officedocument.spreadsheetml.sheet para aws s3 cp |
Os arquivos .xlsx devem ser comprimidos?
Não. Os arquivos do Microsoft Excel já são comprimidos internamente, então gzip ou Brotli desperdiçariam CPU e quase não reduziriam o tamanho, às vezes até aumentariam. Deixe application/vnd.openxmlformats-officedocument.spreadsheetml.sheet fora da sua configuração de compressão.
Por que o tipo MIME importa
Os navegadores decidem o que fazer com uma resposta (renderizar, executar, reproduzir ou baixar) pelo cabeçalho Content-Type, não pela extensão do arquivo. Com X-Content-Type-Options: nosniff, um tipo errado faz com que folhas de estilo e scripts sejam bloqueados. Em uploads, nunca confie no tipo enviado pelo cliente; verifique o conteúdo do arquivo (seus magic bytes) no servidor.
Consulta de tipos MIME
Pesquise todas as extensões de arquivo e tipos MIME comuns, com cabeçalhos Content-Type prontos para copiar.
Perguntas frequentes
Qual é o tipo MIME do .xlsx?
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.Como defino o Content-Type para .xlsx no Nginx?
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; esteja listado no bloco types (normalmente em /etc/nginx/mime.types) e recarregue o Nginx.