Diese Dokumentation wurde automatisch von KI übersetzt.
StorageType implementieren
Erstellen Sie eine neue Klasse und implementieren Sie die Methoden make() und delete(). Überschreiben Sie bei Bedarf Hooks wie getFileURL(), getFileStream() oder getFileData().
Beispiel:
beforeLoad- oder load-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.
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.
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).
filePreviewTypesfilePreviewTypes 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.
FilePreviewTypematch()Methode zur Zuordnung 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-URLGibt einen boolean-Wert zurück, der angibt, ob es übereinstimmt.
getThumbnailURLGibt die Thumbnail-URL in der Dateiliste zurück. Wenn der Rückgabewert leer ist, wird das integrierte Platzhalterbild verwendet.
PreviewerEine React-Komponente zur Vorschau von Dateien.
Die eingehenden Props sind:
file: aktuelles Dateiobjekt (kann eine String-URL oder ein Objekt mit url/preview sein)index: Index der Datei in der Listelist: Dateiliste