Pular para o conteúdo

Upload de arquivos

Use os campos de upload de arquivos para permitir que os utilizadores enviem imagens, documentos ou qualquer arquivo para sua solução de armazenamento (Firebase Storage por padrão). Este campo é responsável por enviar o arquivo e salvar o caminho de armazenamento como o valor da sua propriedade.

Pode também permitir o upload apenas de alguns tipos de arquivo baseado no tipo MIME, ou restringir o tamanho do arquivo.

Se o arquivo enviado for uma imagem, pode também escolher redimensioná-la antes de ser enviada para o backend de armazenamento, com a prop imageCompression.

A lista completa de parâmetros que pode usar ao enviar arquivos:

  • mediaType Tipo de mídia desta referência, usado para exibir a pré-visualização.
  • storagePath Caminho absoluto no seu bucket.
  • acceptedFiles Tipo MIME de arquivo que pode ser enviado.
  • metadata Metadados específicos definidos no arquivo enviado.
  • fileName Callback para personalizar o nome do arquivo.
  • storeUrl Quando true, a URL de download será salva no Firestore em vez do caminho do Cloud Storage.
  • imageCompression Compressão e redimensionamento de imagem do lado do cliente.

Field

import { buildProperty } from "@firecms/core";
buildProperty({
dataType: "string",
name: "Image",
storage: {
storagePath: "images",
acceptedFiles: ["image/*"],
maxSize: 1024 * 1024,
metadata: {
cacheControl: "max-age=1000000"
},
fileName: (context) => {
return context.file.name;
}
}
});

O tipo de dado é string.

Internamente o componente usado é StorageUploadFieldBinding.

Field

import { buildProperty } from "@firecms/core";
buildProperty({
dataType: "array",
name: "Images",
of: {
dataType: "string",
storage: {
storagePath: "images",
acceptedFiles: ["image/*"],
metadata: {
cacheControl: "max-age=1000000"
}
}
},
description: "Este campo permite o upload de múltiplas imagens de uma vez"
});

O tipo de dado é array.

Internamente o componente usado é StorageUploadFieldBinding.

Suporte personalizado para imagens, vídeos e áudio

Seção intitulada “Suporte personalizado para imagens, vídeos e áudio”

Você é livre para usar a propriedade storage para enviar qualquer tipo de arquivo, mas o FireCMS também fornece suporte personalizado para imagens, vídeos e áudio.

Não precisa fazer nenhuma alteração específica e este comportamento está habilitado por padrão. O FireCMS detectará automaticamente se o arquivo é uma imagem, vídeo ou áudio e exibirá a pré-visualização correspondente.

Os tipos MIME suportados para pré-visualizações personalizadas são:

  • image/*
  • video/*
  • audio/*

(isto inclui todos os formatos de arquivo relacionados a estas categorias)