Skip to content

Referência rápida de formatos de arquivo para desenvolvedores

Categoria:Referência
Este artigo está disponível atualmente apenas em japonês. As versões traduzidas serão publicadas sequencialmente.

No desenvolvimento de aplicações web, conhecimentos sobre formatos de arquivo são frequentemente necessários, como validação de arquivo, determinação de tipo MIME e design de limites de upload. Este artigo reúne os formatos de arquivo comumente usados em ambientes de desenvolvimento em uma lista. Ao adicionar aos favoritos, você pode usar como referência rápida consultável a qualquer momento.

matriz de diferenciação de formatos de arquivo principais Formatos de arquivo e principais usos por categoria Image JPEG / JPG PNG (透過) WebP (Web推奨) AVIF (次世代) SVG (ベクター) GIF (アニメ旧式) Document PDF (配布) DOCX (Word) XLSX (Excel) PPTX (PowerPoint) ODT (OpenDoc) RTF (互換) Archive ZIP (標準) TAR.GZ (Unix) 7Z (高圧縮) RAR (有償) XZ (LZMA) BZIP2 (旧) Text/Data JSON (API) CSV (表計算) XML (構造) YAML (設定) TOML (設定) TXT (素朴)
Figura 1: Principais formatos de arquivo por 4 categorias

Formato de imagem

Extensão Tipo MIME Compressão Transparência usos principais
.png image/png Reversível Resposta Screenshots, logotipos, ícones
.jpg / .jpeg image/jpeg Sem perdas Não suportado Fotos, miniaturas
.gif image/gif Reversível Resposta (1bit) Animação, diagrama simples
.webp image/webp ambos Resposta Web em geral (Candidato a sucessor do PNG)
.avif image/avif ambos Resposta Imagens Web de próxima geração
.svg image/svg+xml Nenhum (XML) Resposta Imagens vetoriais, ícones

<strong>Atenção:</strong> SVG é baseado em XML, portanto há risco de XSS (Cross-Site Scripting). É perigoso exibir SVGs enviados por usuários diretamente. Sempre execute o processamento de sanitização.

Formato de documento

Extensão Tipo MIME Estrutura interna usos principais
.pdf application/pdf Binário Documentos para impressão, formulários
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document ZIP(XML) Documento do Word
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ZIP(XML) Planilha do Excel
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation ZIP(XML) Apresentação do PowerPoint

Formato de arquivo

Extensão Tipo MIME Características Pontos de atenção
.zip application/zip Mais amplamente distribuído, compatível com padrão do SO Corrupção de nome de arquivo em japonês (UTF-8 vs CP932)
.tar.gz application/gzip Padrão Unix/Linux No Windows, ferramentas de expansão podem ser necessárias em alguns casos
.7z application/x-7z-compressed Alta taxa de compressão Ferramenta dedicada (7-Zip) necessária
.rar application/vnd.rar Suporte a arquivo dividido Formato proprietário

Formato de dados de texto

Extensão Tipo MIME Uso Problemas comuns
.csv text/csv Troca de dados, importação/exportação Codificação de caracteres, códigos de quebra de linha, BOM
.json application/json Comunicação da API, arquivo de configuração UTF-8 obrigatório (RFC 8259)
.xml application/xml Arquivo de configuração, troca de dados Incompatibilidade com declaração de codificação
.txt text/plain Log, notas, README A detecção automática de codificação é instável

Validação de tipo MIME

Ao implementar a funcionalidade de upload de arquivo, é importante validar não apenas a extensão, mas também o tipo MIME. Entretanto, como o tipo MIME pode ser falsificado no lado do cliente, use também a verificação de magic byte (cabeçalho de arquivo) no lado do servidor.

// PHP でのマジックバイトによる判定
$finfo = new finfo(FILEINFO_MIME_TYPE);
$mimeType = $finfo->file($_FILES['upload']['tmp_name']);

$allowedTypes = [
    'image/png',
    'image/jpeg',
    'image/webp',
    'application/pdf',
];

if (!in_array($mimeType, $allowedTypes, true)) {
    throw new Exception('許可されていないファイル形式です');
}
// Node.js での file-type ライブラリを使った判定
import { fileTypeFromFile } from 'file-type';

const type = await fileTypeFromFile('upload.png');
console.log(type);
// { ext: 'png', mime: 'image/png' }

Download de arquivo de teste

Para testar a validação e as funcionalidades de upload de cada formato, utilize os arquivos de teste do DevLab.

  • <a href="/ja/files/images/">Arquivo de imagem</a> — Vários tamanhos de PNG, JPG, WebP, GIF
  • <a href="/ja/files/pdf/">Arquivos PDF</a> — Arquivos de teste PDF em vários tamanhos
  • <a href="/ja/files/zip/">Arquivo ZIP</a> — Teste de processamento de arquivo
  • <a href="/ja/files/csv/">Arquivo CSV</a> — Teste de importação de dados
  • <a href="/ja/files/json/">Arquivos JSON</a> — Para testes de API
  • <a href="/ja/files/txt/">Arquivo de texto</a> — Teste de processamento de texto
  • <a href="/ja/files/broken/">Arquivo quebrado</a> — Teste de tratamento de erros

Resumo

A compreensão correta do formato de arquivo é a base para implementar uma funcionalidade de upload segura e robusta. Valide não apenas a extensão, mas também o tipo MIME e os magic bytes para realizar uma validação adequada. Recomendamos marcar esta referência nos favoritos para poder consultá-la a qualquer momento durante o desenvolvimento.

Arquivo de teste disponível para usar neste artigo

  • → <a href="/ja/files/images/" class="text-primary-600 dark:text-primary-400 hover:underline">Lista de arquivos de teste de imagem (PNG / JPG / WebP / GIF)</a>
  • → <a href="/ja/files/pdf/" class="text-primary-600 dark:text-primary-400 hover:underline">Lista de arquivos de teste PDF</a>
  • → <a href="/ja/files/zip/" class="text-primary-600 dark:text-primary-400 hover:underline">Lista de arquivos de teste ZIP</a>
  • → <a href="/ja/files/csv/" class="text-primary-600 dark:text-primary-400 hover:underline">Lista de arquivos de teste CSV</a>
  • → <a href="/ja/files/json/" class="text-primary-600 dark:text-primary-400 hover:underline">Lista de arquivos de teste JSON</a>

Artigos relacionados

  • → <a href="/ja/blog/file-validation-checklist/" class="text-primary-600 dark:text-primary-400 hover:underline">Lista de verificação de implementação de validação de arquivo para formulários web</a>
  • → <a href="/ja/reference/magic-bytes/" class="text-primary-600 dark:text-primary-400 hover:underline">Referência de Magic Bytes (Assinatura de Arquivo)</a>