.net 将xml文件压缩成标准zip文件

本文介绍了如何在.NET WinForm项目中利用SharpZipLib库将XML文件压缩为标准ZIP文件,以实现数据交换的高效传输。由于服务器端接口不兼容SharpZipLib生成的ZIP,项目团队采用了一款Delphi组件(包含myzip.dll)来解决问题,该组件提供了方便的压缩和解压缩方法。
摘要由CSDN通过智能技术生成

最近做了一个winform项目,涉及数据交换,传送数据格式为xml文件,压缩传输.

从网上找的SharpZipLib压缩组件,压缩后传输至服务器端,由于服务器端接口是java开发的,不能解压.

刚好项目组有一哥们儿是做delphi开发的,给了个组件,引入项目中,结果还挺好使.

两个dll文件,调用方法如下:

        [DllImport("myzip.dll", ExactSpelling = true)]
        public static extern int MyZip_AddFile(string __inFileName, string __outFileName);
        [DllImport("myzip.dll", ExactSpelling = true)]
        public static extern int MyZip_ExtractFileAll(string __inZipFileName, string __DstFolder);

        public static void ZipFile(string __inFileName, string __outFileName)
        {
            int intRuturn = MyZip_AddFile(__inFileName, __outFileName);
        }
        public static void UnZipFile(string __inZipFileName, string __DstFolder)
        {
            int intReturn = MyZip_ExtractFileAll(__inZipFileName, __DstFolder);
        }

.net中没有提供直接压缩zip的功能,zip文件需要落地,以后用这个还是挺方便的.

文件名:MyZip.dll 函 数: ************************************************** *** *** *** 压缩文件 *** *** *** ************************************************** 1. Function MyZip_AddFile(SrcFile,ZipFile:pchar):integer;stdcall; 功能 : 将文件SrcFile添加到压缩文档ZipFile 参数 : SrcFile 待压缩文件(全路径) Zipfile 目标文件(全路径) 返回 : 0 成功 说明 : 同名文件将自动被替换(overwrite) 2. Function MyZip_AddDirectory(SrcPath,ZipFile:pchar):integer;stdcall; 功能 : 将目录SrcPath里的所有文件(子目录)添加到压缩文档ZipFile 参数 : SrcPath 待压缩目录(全路径) Zipfile 目标文件(全路径) 返回 : 0 成功 说明 : 同名文件将自动被替换(overwrite) ************************************************** *** *** *** 解压缩文件 *** *** *** ************************************************** 1. Function MyZip_ExtractFileAll(ZipFile,PathName:pchar):integer;stdcall; 功能 : 将ZipFile中包含的所有文件解包到文件夹PathName 参数 : ZipFile 压缩文件(全路径) PathName 文件输出路径(如果不存在,则自动创建该目录) 返回 : 0 解包的文件数量 说明 : 同名文件将自动被替换(overwrite) 2. Function MyZip_ExtractFile(ZipFile,srcName,DstName:pchar):integer;stdcall; 功能 : 从ZipFile中将由SrcName指定的文件解包到由DstName指定的目标文件 参数 : Zipfile 压缩文件(全路径) SrcName 需要解包的文件(不包含路径) DstName 目标文件(全路径) 返回 : 0 成功 说明 : 同名文件将自动被替换(overwrite) ************************************************** *** *** *** 获取错误信息 *** *** *** ************************************************** 1. Function MyZip_GetLastError(out msg : ShortString):integer;stdcall; 功能 : 在压缩/解压的过程中,如有错误发生,可立即调用该函数获取相关错误信息,并由msg返回 参数 : msg 用于返回相关错误信息 返回 : 0 成功
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值