Esta documentação foi traduzida automaticamente por IA.
Herda StorageType
Crie uma nova classe e implemente os métodos make() e delete(). Se necessário, sobrescreva hooks como getFileURL(), getFileStream() e getFileData().
Exemplo:
beforeLoad ou load do plugin:Após o registro, a configuração de armazenamento aparecerá no recurso storages, assim como os tipos integrados. A configuração fornecida por StorageType.defaults() pode ser usada para preencher formulários automaticamente ou inicializar registros padrão.
Para arquivos já enviados, você pode exibir diferentes conteúdos de pré-visualização na interface do frontend com base no tipo de arquivo. O campo de anexos do gerenciador de arquivos possui uma pré-visualização baseada no navegador (embutida em um iframe), que suporta a visualização da maioria dos formatos (como imagens, vídeos, áudio e PDFs) diretamente no navegador. Quando um formato de arquivo não é suportado pelo navegador ou quando interações especiais de pré-visualização são necessárias, você pode estender o componente de pré-visualização baseado no tipo de arquivo.
Por exemplo, se você deseja integrar uma pré-visualização online personalizada para arquivos Office, pode usar o seguinte código:
Aqui, filePreviewTypes é o objeto de entrada fornecido por @nocobase/plugin-file-manager/client para estender pré-visualizações de arquivos. Use seu método add para adicionar um objeto descritor de tipo de arquivo.
Cada tipo de arquivo deve implementar um método match() para verificar se o tipo atende aos requisitos. No exemplo, matchMimetype é usado para verificar o atributo mimetype do arquivo. Se corresponder ao tipo docx, ele é considerado o tipo a ser tratado. Se não corresponder, será usada a lógica integrada.
A propriedade Previewer no objeto descritor de tipo é o componente usado para pré-visualização. Quando o tipo de arquivo corresponde, esse componente é renderizado na caixa de diálogo de pré-visualização. Você pode retornar qualquer visualização React (como iframe, player ou gráfico).
filePreviewTypesfilePreviewTypes é uma instância global importada de @nocobase/plugin-file-manager/client:
filePreviewTypes.add()Registra um novo objeto descritor de tipo de arquivo no registro de tipos. O tipo do descritor é FilePreviewType.
FilePreviewTypematch()Método de correspondência de formato de arquivo.
O parâmetro de entrada file é o objeto de dados de um arquivo enviado, contendo propriedades relevantes para verificação de tipo:
mimetype: descrição do mimetypeextname: extensão do arquivo, incluindo "."path: caminho de armazenamento relativo do arquivourl: URL do arquivoRetorna um boolean indicando se houve correspondência.
getThumbnailURLRetorna a URL da miniatura usada na lista de arquivos. Se o valor retornado for vazio, a imagem de placeholder integrada será usada.
PreviewerUm componente React para pré-visualizar arquivos.
As props de entrada são:
file: objeto do arquivo atual (pode ser uma URL em string ou um objeto contendo url/preview)index: índice do arquivo na listalist: lista de arquivos