Cette documentation a été traduite automatiquement par IA.
Hériter de StorageType
Créez une nouvelle classe et implémentez les méthodes make() et delete(). Si nécessaire, surchargez des hooks tels que getFileURL(), getFileStream() ou getFileData().
Exemple :
beforeLoad ou load du plugin :Après l'enregistrement, la configuration du stockage apparaîtra dans la ressource storages, tout comme les types intégrés. La configuration fournie par StorageType.defaults() peut être utilisée pour pré-remplir les formulaires ou initialiser des enregistrements par défaut.
Pour les fichiers déjà téléversés, vous pouvez afficher différents contenus de prévisualisation dans l'interface front-end en fonction du type de fichier. Le champ de pièce jointe du gestionnaire de fichiers intègre une prévisualisation de fichiers basée sur le navigateur (intégrée dans un iframe), ce qui permet de visualiser directement la plupart des formats (images, vidéos, audio, PDF, etc.) dans le navigateur. Lorsque le format n'est pas pris en charge par le navigateur ou que des interactions spécifiques sont nécessaires, vous pouvez étendre le composant de prévisualisation basé sur le type de fichier.
Par exemple, si vous souhaitez intégrer une prévisualisation en ligne personnalisée pour les fichiers Office, vous pouvez utiliser le code suivant :
Ici, filePreviewTypes est l'objet d'entrée fourni par @nocobase/plugin-file-manager/client pour étendre les prévisualisations de fichiers. Utilisez sa méthode add pour ajouter un objet de description de type de fichier.
Chaque type de fichier doit implémenter une méthode match() pour vérifier si le type répond aux exigences. Dans l'exemple, matchMimetype est utilisé pour vérifier l'attribut mimetype du fichier. S'il correspond au type docx, il est considéré comme le type à traiter. Si aucune correspondance n'est trouvée, le traitement intégré sera utilisé.
La propriété Previewer de l'objet de description de type est le composant utilisé pour la prévisualisation. Lorsque le type de fichier correspond, ce composant est rendu dans la boîte de dialogue de prévisualisation. Vous pouvez retourner n'importe quelle vue React (par exemple un iframe, un lecteur ou un graphique).
filePreviewTypesfilePreviewTypes est une instance globale, importée depuis @nocobase/plugin-file-manager/client :
filePreviewTypes.add()Enregistre un nouvel objet de description de type de fichier auprès du registre des types de fichiers. Le type de l'objet de description est FilePreviewType.
FilePreviewTypematch()Méthode de correspondance du format de fichier.
Le paramètre d'entrée file est l'objet de données d'un fichier téléversé, contenant des propriétés pertinentes qui peuvent être utilisées pour la vérification de type :
mimetype : description du mimetypeextname : extension du fichier, incluant le "."path : chemin de stockage relatif du fichierurl : URL du fichierRetourne une valeur de type boolean indiquant si la correspondance a réussi.
getThumbnailURLRenvoie l'URL de la miniature utilisée dans la liste de fichiers. Si la valeur renvoyée est vide, l'image de remplacement intégrée sera utilisée.
PreviewerUn composant React pour la prévisualisation des fichiers.
Les props d'entrée sont :
file : l'objet du fichier courant (peut être une URL de type chaîne ou un objet contenant url/preview)index : l'index du fichier dans la listelist : la liste des fichiers