Dit document is vertaald door AI. Voor onnauwkeurigheden, raadpleeg de Engelse versie
StorageType erven
Maak een nieuwe klasse aan en implementeer de methoden make() en delete(). Overschrijf indien nodig hooks zoals getFileURL(), getFileStream() en getFileData().
Voorbeeld:
beforeLoad- of load-levenscyclus van de plugin in:Na registratie verschijnt de opslagconfiguratie in de storages-resource, net als de ingebouwde typen. De configuratie die StorageType.defaults() levert, kan worden gebruikt om formulieren automatisch te vullen of standaardrecords te initialiseren.
Voor geüploade bestanden kun je op de frontend verschillende preview-inhoud tonen op basis van het bestandstype. Het bijlagenveld van de bestandsbeheerder heeft een ingebouwde browserpreview (ingesloten in een iframe) die de meeste bestandsformaten (zoals afbeeldingen, video, audio en PDF) direct in de browser kan tonen. Als een bestandsformaat niet door de browser wordt ondersteund of er speciale preview-interacties nodig zijn, kun je de previewcomponent per bestandstype uitbreiden.
Als je bijvoorbeeld een aangepaste online preview voor Office-bestanden wilt integreren, kun je de volgende code gebruiken:
Hier is filePreviewTypes het instapobject dat door @nocobase/plugin-file-manager/client wordt geleverd om bestandspreviews uit te breiden. Gebruik de add-methode om een bestandstype-omschrijving toe te voegen.
Elk bestandstype moet een match()-methode implementeren om te controleren of het bestandstype voldoet. In het voorbeeld wordt matchMimetype gebruikt om het mimetype-attribuut van het bestand te controleren. Als het overeenkomt met het docx-type, wordt dit beschouwd als het type dat verwerkt moet worden. Als er geen match is, valt het terug op de ingebouwde typeverwerking.
De Previewer-eigenschap op de type-omschrijving is de component voor de preview. Wanneer het bestandstype overeenkomt, wordt deze component in de previewdialoog weergegeven. Je kunt elke React-weergave retourneren (zoals een iframe, speler of grafiek).
filePreviewTypesfilePreviewTypes is een globale instantie die wordt geïmporteerd vanuit @nocobase/plugin-file-manager/client:
filePreviewTypes.add()Registreert een nieuwe bestandstype-omschrijving in het bestandstype-register. Het type van de omschrijving is FilePreviewType.
FilePreviewTypematch()Methode voor bestandsformaatmatching.
De invoerparameter file is het dataobject van een geüpload bestand en bevat relevante eigenschappen voor typecontrole:
mimetype: mimetype-beschrijvingextname: bestandsextensie, inclusief "."path: relatieve opslagpad van het bestandurl: bestand-URLRetourneert een boolean die aangeeft of er een match is.
getThumbnailURLRetourneert de miniatuur-URL die in de bestandslijst wordt gebruikt. Als de retourwaarde leeg is, wordt de ingebouwde placeholder-afbeelding gebruikt.
PreviewerEen React-component voor het previewen van bestanden.
De binnenkomende props zijn:
file: het huidige bestandsobject (kan een string-URL zijn of een object met url/preview)index: index van het bestand in de lijstlist: bestandslijst