Questa documentazione è stata tradotta automaticamente dall'IA.
Ereditare StorageType
Crea una nuova classe e implementa i metodi make() e delete(). Se necessario, sovrascrivi hook come getFileURL(), getFileStream() e getFileData().
Esempio:
beforeLoad o load del plugin:Dopo la registrazione, la configurazione di archiviazione apparirà nella risorsa storages, proprio come i tipi integrati. La configurazione fornita da StorageType.defaults() può essere usata per compilare automaticamente i moduli o inizializzare i record predefiniti.
Per i file già caricati, è possibile mostrare contenuti di anteprima diversi nell'interfaccia frontend in base al tipo di file. Il campo allegati del file manager include una anteprima basata sul browser (integrata in un iframe), che supporta la visualizzazione della maggior parte dei formati (come immagini, video, audio e PDF) direttamente nel browser. Quando un formato non è supportato dal browser o sono necessarie interazioni di anteprima speciali, è possibile estendere il componente di anteprima basato sul tipo di file.
Ad esempio, se vuoi integrare una anteprima online personalizzata per file Office, puoi usare il seguente codice:
Qui filePreviewTypes è l'oggetto di ingresso fornito da @nocobase/plugin-file-manager/client per estendere le anteprime dei file. Usa il suo metodo add per aggiungere un descrittore di tipo file.
Ogni tipo di file deve implementare un metodo match() per verificare se il tipo soddisfa i requisiti. Nell'esempio, matchMimetype è usato per controllare l'attributo mimetype del file. Se corrisponde al tipo docx, viene considerato il tipo da gestire. Se non corrisponde, verrà usata la gestione integrata.
La proprietà Previewer del descrittore di tipo è il componente usato per l'anteprima. Quando il tipo di file corrisponde, il componente verrà renderizzato nella finestra di anteprima. Puoi restituire qualsiasi vista React (ad esempio un iframe, un player o un grafico).
filePreviewTypesfilePreviewTypes è un'istanza globale importata da @nocobase/plugin-file-manager/client:
filePreviewTypes.add()Registra un nuovo descrittore di tipo file nel registro. Il tipo del descrittore è FilePreviewType.
FilePreviewTypematch()Metodo di corrispondenza del formato del file.
Il parametro di input file è l'oggetto dati di un file caricato, contenente proprietà rilevanti per il controllo del tipo:
mimetype: descrizione del mimetypeextname: estensione del file, inclusa la "."path: percorso di archiviazione relativo del fileurl: URL del fileRestituisce un valore boolean che indica se c'è corrispondenza.
getThumbnailURLRestituisce l'URL della miniatura usata nell'elenco dei file. Se il valore restituito è vuoto, verrà utilizzata l'immagine segnaposto integrata.
PreviewerUn componente React per l'anteprima dei file.
Le props in ingresso sono:
file: oggetto file corrente (può essere una URL stringa o un oggetto che contiene url/preview)index: indice del file nell'elencolist: elenco dei file