Accueil Blog Acumatica zippé - Manipulation de fichiers Partie 1 .Zip

Zippé Acumatica - Manipulation de fichiers Partie 1 .Zip

Nous examinons comment vous pouvez archiver des fichiers attachés à un document dans une instance Acumatica ou l'attachement de fichiers à partir d'un fichier .Zip à un document dans une instance Acumatica.
Joshua van Hoesen | 29 mars 2022

Zippé Acumatica - Manipulation de fichiers Partie 1 .Zip

Introduction

Au cours de nos années de développement de solutions dans le cadre d'Acumatica, nous avons connu de nombreux cas où des fichiers d'un type ou d'un autre devaient être générés et manipulés dans le système.

Un exemple d'utilisation que nous examinerons dans cet article est l'archivage de fichiers attachés à un document dans une instance Acumatica - ou l'attachement de fichiers à partir d'un fichier .Zip à un document dans une instance Acumatica.

.Zip - PX.Common.Std

Pour utiliser les fichiers .ZIP dans Acumatica, vous devrez ajouter une référence à la dll PX.Common.Std dans votre projet. Cette dll se trouve dans le dossier bin de l'installation de l'instance.

ZipArchive

CreateFrom

Cette méthode statique retourne une instance de ZipArchive qui représente un fichier .ZIP. Cette méthode prend en compte un flux os et bool onlyRead comme paramètres.

L'exemple de code ci-dessous illustre la création d'un nouveau fichier zip à l'aide d'un nouveau fichier MemoryStream et en définissant l'option onlyRead à la valeur false pour permettre l'ajout de fichiers à notre fichier .Zip créé.

GIST: [Création d'un fichier .Zip (github.com)]

CreateFrom est également utilisé pour ouvrir un fichier .ZIP préexistant. Pour ouvrir un fichier préexistant, vous devez d'abord récupérer son byte[] et créer un nouveau MemoryStream à partir des données, en définissant l'option bool onlyRead à true.

GIST: [Ouvrir le fichier .Zip existant (github.com)]

Ajouter un fichier

Cette méthode void publique ajoute un fichier à partir du nom donné et d'un tableau byte[] du fichier à inclure dans le fichier .Zip.

GIST: [Ajout d'un fichier à l'archive .Zip créée (github.com)]

Obtenir des fichiers

Cette méthode renvoie une liste de fichiers contenus dans l'archive .Zip ; les informations relatives à chaque fichier sont encapsulées dans la classe ItemInfo. 

GIST: [Interroger les noms de fichiers dans Archive (github.com)]

Obtenir des éléments

Cette méthode est utilisée lorsque vous souhaitez uniquement extraire les fichiers d'un répertoire spécifique de l'archive. Elle utilise le paramètre chaîne répertoire.

OuvrirLire

Cette méthode renvoie un flux provenant d'un fichier de l'archive. Le fichier est spécifié en fournissant un nom de fichier, ce nom

GIST : [Récupération d'un fichier depuis ZipArchive (github.com)]

Exemples

Vous trouverez ci-dessous des exemples de création d'une nouvelle archive .Zip dans Acumatica, ainsi que de lecture et d'enregistrement du contenu d'un fichier .Zip joint à un document.

Création d'archives

L'exemple suivant récupère la liste des fichiers attachés à un document Acumatica et crée une archive .Zip qui est ensuite attachée.

GIST: [Ouvre un fichier zip attaché à un document Acumatica (github.com)]

Récupération d'archives

L'exemple suivant permet de récupérer le fichier Zip attaché à un document Acumatica et d'attacher tous les documents de cette archive au document source.

GIST: [Bouton pour créer un fichier .zip à partir des fichiers attachés à un document Acumatica (github.com)]

Conclusion

Avec l'utilisation des bibliothèques fournies dans l'installation d'Acumatica ERP, nous sommes en mesure de créer et de manipuler des fichiers .Zip.

Bon codage !

Auteur du blog

Ingénieur logiciel en chef chez Accounting System Integrators. Il dirige l'équipe de développement qui a créé NonProfitPlus, un logiciel de gestion d'entreprise conçu pour les organisations à but non lucratif et alimenté par Acumatica ERP pour offrir une suite d'applications entièrement intégrées.

Recevez les mises à jour du blog dans votre boîte de réception.