Dieses Dokument wurde von KI übersetzt. Für genaue Informationen lesen Sie bitte die englische Version.
Erweiterungsentwicklung
Speicher-Engines erweitern
Serverseitig
-
Von
StorageTypeerbenErstellen Sie eine neue Klasse und implementieren Sie die Methoden
make()unddelete(). Überschreiben Sie bei Bedarf Hooks wiegetFileURL(),getFileStream()odergetFileData().
Beispiel:
- Neuen Typ registrieren
Fügen Sie die neue Speicher-Implementierung imbeforeLoad- oderload-Lifecycle des Plugins ein:
Nach der Registrierung erscheint die Speicher-Konfiguration in der Ressource storages, genau wie die integrierten Typen. Die von StorageType.defaults() bereitgestellte Konfiguration kann zum automatischen Ausfüllen von Formularen oder zum Initialisieren von Standarddatensätzen verwendet werden.
Frontend-Dateitypen erweitern
Für hochgeladene Dateien können in der Frontend-Oberfläche je nach Dateityp unterschiedliche Vorschauinhalte angezeigt werden. Das Anhangsfeld des Dateimanagers verfügt über eine integrierte browserbasierte Dateivorschau (in einem iframe), die die Vorschau der meisten Formate (z. B. Bilder, Videos, Audio und PDFs) direkt im Browser unterstützt. Wenn ein Dateiformat vom Browser nicht unterstützt wird oder spezielle Vorschau-Interaktionen erforderlich sind, können Sie die Vorschaukomponente basierend auf dem Dateityp erweitern.
Beispiel
Wenn Sie beispielsweise eine benutzerdefinierte Online-Vorschau für Office-Dateien integrieren möchten, können Sie den folgenden Code verwenden:
Hier ist filePreviewTypes das Einstiegsobjekt aus @nocobase/plugin-file-manager/client zum Erweitern von Dateivorschauen. Verwenden Sie die Methode add, um ein Dateityp-Descriptor-Objekt hinzuzufügen.
Jeder Dateityp muss eine match()-Methode implementieren, um zu prüfen, ob der Dateityp die Anforderungen erfüllt. Im Beispiel wird matchMimetype verwendet, um das mimetype-Attribut der Datei zu prüfen. Wenn es dem docx-Typ entspricht, wird der Dateityp verarbeitet. Wenn keine Übereinstimmung gefunden wird, wird auf die integrierte Typbehandlung zurückgegriffen.
Die Previewer-Eigenschaft des Typ-Descriptors ist die Komponente für die Vorschau. Wenn der Dateityp übereinstimmt, wird diese Komponente im Vorschaudialog gerendert. Sie können jede React-Ansicht zurückgeben (z. B. ein iframe, einen Player oder ein Diagramm).
API
filePreviewTypes
filePreviewTypes ist eine globale Instanz, importiert aus @nocobase/plugin-file-manager/client:
filePreviewTypes.add()
Registriert ein neues Dateityp-Descriptor-Objekt im Dateityp-Register. Der Typ des Descriptor-Objekts ist FilePreviewType.
FilePreviewType
match()
Methode zur Prüfung des Dateiformats.
Der Eingabeparameter file ist das Datenobjekt einer hochgeladenen Datei und enthält relevante Eigenschaften zur Typprüfung:
mimetype: Beschreibung des mimetypeextname: Dateiendung einschließlich "."path: relativer Speicherpfad der Dateiurl: Datei-URL
Gibt einen boolean-Wert zurück, der angibt, ob es übereinstimmt.
getThumbnailURL
Gibt die Thumbnail-URL in der Dateiliste zurück. Wenn der Rückgabewert leer ist, wird das integrierte Platzhalterbild verwendet.
Previewer
Eine React-Komponente zur Vorschau von Dateien.
Die eingehenden Props sind:
file: aktuelles Dateiobjekt (kann eine String-URL oder ein Objekt miturl/previewsein)index: Index der Datei in der Listelist: Dateiliste

