Accueil Blog (en) Zipped Up Acumatica - Manipulation de fichiers Partie 1 . Zip

Zipped Up Acumatica - Manipulation de fichiers Partie 1 . Zip

Nous examinons comment vous pouvez archiver les fichiers joints à un document dans une instance Acumatica ou la pièce jointe de fichiers à partir d’un fichier . Zip fichier à un document dans une instance Acumatica.
Joshua van Hoesen | Le 29 mars 2022

Zipped Up Acumatica - Manipulation de fichiers Partie 1 . Zip

Introduction

Au cours de nos années (ASI LLC) en développant des solutions dans le cadre D’Acumatica, nous avons connu de multiples cas dans lesquels des fichiers d’un type ou d’un autre doivent ê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 des fichiers joints à un document dans une instance Acumatica - ou - la pièce jointe de fichiers à partir d’un fichier . Zip fichier à un document dans une instance Acumatica.

. Zip – PX. Commun.Std

Pour utiliser .ZIP fichiers dans Acumatica, vous devrez ajouter une référence au PX. Common.Std .dll 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 prendra Stream os et bool onlyRead comme paramètres.

L’exemple de code ci-dessous illustre la création d’un nouveau fichier zip utilisant un nouveau MemoryStream et définissant l’argument onlyRead comme faux pour permettre l’ajout de fichiers à notre création. Fichier zip.

GIST: [Création de . Fichier zip (github.com)]

CreateFrom est également utilisé lors de l’ouverture d’un fichier .ZIP préexistant. Pour ouvrir un fichier préexistant, vous devez d’abord récupérer son octet[] et créer un nouveau MemoryStream à partir des données, en définissant le paramètre bool onlyRead comme true.

GIST: [Ouvrir existant . Fichier zip (github.com)]

AddFile

Cette méthode d’annulation publique ajoute un fichier à partir du prénom et un tableau d’octets[] du fichier à inclure dans le fichier . Fichier zip.

GIST: [Ajout d’un fichier à la création . Zip archive (github.com)]

GetFiles

Cette méthode renvoie une liste de fichiers dans le fichier . Archive zip; les informations de chaque fichier sont encapsulées dans la classe ItemInfo interne. 

GIST: [Itérer à travers les noms de fichiers dans Archive (github.com)]

GetItems

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

OpenRead

Cette méthode renvoie un flux à partir 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 de ZipArchive (github.com)]

Exemples

Vous trouverez ci-dessous des exemples de création d’un nouveau fichier . Zip archive dans Acumatica ainsi que de prendre un . Fichier zip joint à un document et lecture / enregistrement du contenu à l’intérieur.

Création d’archives

L’exemple suivant récupérera la liste des fichiers joints à un document Acumatica et créera un fichier . Archive zip qui est ensuite jointe.

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

Récupération d’archives

L’exemple suivant récupérera le fichier . Zip fichier joint à un document Acumatica et joindre tous les documents de cette archive au document source.

GIST: [Bouton pour créer . Fichier zip à partir de fichiers joints au document Acumatica (github.com)]

Conclusion

Avec l’utilisation des bibliothèques fournies dans une installation Acumatica ERP, nous sommes en mesure de créer et de manipuler . 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 construit NonProfitPlus - un logiciel de gestion d’entreprise conçu avec des organisations à but non lucratif à l’esprit et alimenté par Acumatica ERP pour fournir une suite d’applications entièrement intégrées.

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