Biblioteca de assets
Cada projeto tem uma biblioteca de mídia. Um arquivo é enviado uma vez e recebe um id estável, e o campo de imagem, vídeo ou arquivo de qualquer registro se refere a ele por esse id.
Como um upload funciona
Um upload tem três etapas. createFileUpload retorna uma URL de upload válida por uma hora, o cliente envia os bytes direto para o armazenamento, e uma chamada de confirmação retorna o arquivo. Os bytes nunca passam pelo endpoint GraphQL. Essa via não tem limite de tamanho por arquivo, e a verificação na confirmação é contra a sua cota de armazenamento. Um upload REST de chamada única aceita arquivos pequenos, de até 10 MB.
O navegador de um usuário logado pode executar o upload inteiro com uma chave pública e o próprio token desse usuário. O arquivo então é dele, e privado por padrão.
O que é lido de uma imagem
Para JPEG, PNG, WebP e GIF, o Fóir extrai a largura, a altura, um placeholder blurhash e uma cor dominante quando o upload é confirmado. Um campo de imagem retorna os quatro valores ao lado da URL. Outros tamanhos e formatos vêm das transformações de imagem.
Pastas, texto alternativo e a CLI
Um arquivo pode ficar em uma pasta e ter texto alternativo, e a API pública retorna os dois junto com o arquivo. A partir de um terminal, foir media envia, lista, atualiza, exclui e restaura arquivos.
Excluir e restaurar
Uma exclusão é lógica, e uma restauração a desfaz. Remover o objeto armazenado é uma exclusão separada e permanente. Excluir exige o escopo files:delete (que o acesso de escrita a arquivos não implica).
O que é recusado
Uploads de HTML, JavaScript e XML são recusados. SVG é aceito, e um aberto diretamente é servido como download sob uma política que bloqueia scripts.
Leia os detalhes
O guia de mídia cobre uploads, visibilidade, os comandos da CLI, recortes e vídeo.