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.