如何在C#中创建zip并从HexBinary字符串中读取所有文件?

时间:2018-02-21 13:17:05

标签: c#

我将zip转换为HexBinary字符串,并将该HexBinary结果传递给xml元素之一到asmx Web服务。

private static string ConvertZipToHexBinaryString(string filePath)
{
    byte[] data = File.ReadAllBytes(filePath);

    //01. Simple
    //string strHex = BitConverter.ToString(data);


    //02. If want without '-' the use this one
    string hex = BitConverter.ToString(data).Replace("-", string.Empty);

    return hex;
}

但是在服务端,如何通过解压缩来检索zip并读取所有文件?

1 个答案:

答案 0 :(得分:1)

如何处理ZIP文件取决于您使用的Framework版本。如果你得到至少4.5,那么ZipArchive class可以使用任何Stream。从字节数组创建MemoryStream是Constructor Case

如果您在此之前,则需要第三方代码。令人遗憾的是,.NET在4.5之前处理.zip文件时非常糟糕。常见方法包括使用免费的7zip .NET库或使用Console Redirction来使用您在计算机上安装的任何文件/操作系统级工具。当然,在那时你如何存储这些文件也开始了。处理使用DB存储blob至少有两种方法。并filestream将两者结合起来。