Dit document is vertaald door AI. Raadpleeg de Engelse versie voor nauwkeurige informatie.
Overerven van StorageType
Maak een nieuwe klasse aan en implementeer de methoden make() en delete(), en overschrijf indien nodig hooks zoals getFileURL(), getFileStream() en getFileData().
Voorbeeld:
beforeLoad- of load-levenscyclus van de plugin:Na voltooiing van de registratie verschijnt de opslagconfiguratie in de storages-resource, net als de ingebouwde typen. De configuratie geleverd door StorageType.defaults() kan worden gebruikt voor het automatisch invullen van formulieren of het initialiseren van standaardrecords.
Voor geüploade bestanden kan op de frontend-interface verschillende preview-inhoud worden getoond op basis van verschillende bestandstypen. Het bijlageveld van de bestandsbeheerder heeft een ingebouwde browsergebaseerde bestandspreview (ingebed in een iframe), die het direct previewen van de meeste bestandsformaten (zoals afbeeldingen, video's, audio en PDF's) in de browser ondersteunt. Wanneer een bestandsformaat geen browserpreview ondersteunt, of wanneer er speciale preview-interacties nodig zijn, kunt u dit realiseren door de op bestandstype gebaseerde preview-component uit te breiden.
Als u bijvoorbeeld een aangepaste online preview voor Office-bestanden wilt integreren, kunt u de volgende code gebruiken:
Hierbij is filePreviewTypes het toegangsobject geleverd door @nocobase/plugin-file-manager/client voor het uitbreiden van bestandspreviews. Gebruik de add-methode om een bestandstype-beschrijvingsobject uit te breiden.
Elk bestandstype moet een match()-methode implementeren om te controleren of het bestandstype aan de vereisten voldoet. In het voorbeeld wordt matchMimetype gebruikt om het mimetype-attribuut van het bestand te controleren. Als het overeenkomt met het docx-type, wordt het beschouwd als het te verwerken bestandstype. Als er geen match is, wordt er teruggevallen op de ingebouwde typeverwerking.
De eigenschap Previewer op het type-beschrijvingsobject is de component die wordt gebruikt voor de preview. Wanneer het bestandstype overeenkomt, wordt deze component gerenderd voor de preview. Deze component wordt gerenderd in de pop-up voor bestandspreview; u kunt elke React-view retourneren (zoals een iframe, speler, grafiek, enz.).
filePreviewTypesfilePreviewTypes is een globale instantie, geïmporteerd via @nocobase/plugin-file-manager/client:
filePreviewTypes.add()Registreert een nieuw bestandstype-beschrijvingsobject bij het bestandstype-register. Het type van het beschrijvingsobject is FilePreviewType.
FilePreviewTypematch()Methode voor bestandsformaat-matching.
De invoerparameter file is het gegevensobject van het geüploade bestand, dat relevante eigenschappen bevat die kunnen worden gebruikt voor typebepaling:
mimetype: mimetype-beschrijvingextname: bestandsextensie, inclusief "."path: relatief opslagpad van het bestandurl: bestand-URLDe retourwaarde is van het type boolean, wat het resultaat van de match aangeeft.
getThumbnailURLWordt gebruikt om het miniatuuradres in de bestandslijst te retourneren. Wanneer de retourwaarde leeg is, wordt de ingebouwde placeholder-afbeelding gebruikt.
PreviewerReact-component voor het previewen van bestanden.
De doorgegeven Props-parameters zijn:
file: het huidige bestandsobject (kan een string-URL zijn of een object dat url/preview bevat)index: index van het bestand in de lijstlist: bestandslijst