Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用DotNetZip动态提取ZIP文件?_C#_Azure_Stream_Zip_Dotnetzip - Fatal编程技术网

C# 如何使用DotNetZip动态提取ZIP文件?

C# 如何使用DotNetZip动态提取ZIP文件?,c#,azure,stream,zip,dotnetzip,C#,Azure,Stream,Zip,Dotnetzip,在我的WindowsAzure代码中,我想从Blob存储中下载一个ZIP文件,并动态解压,然后将解压后的内容存储到磁盘上。通过这种方式,我首先将文件写入磁盘,然后在进行提取时读取文件,然后进行保存 我正在尝试使用DotNetZip来实现这一点 ZIP文件最初非常大,所以它被分为几部分(不是多部分存档,而是一个普通的ZIP存档,只是分为较小的文件),每一部分都被上传到Blob存储中。我知道如何遍历所有部分,并在需要时打开每个blob n Azure SDK具有CloudBlob.OpenRead(

在我的WindowsAzure代码中,我想从Blob存储中下载一个ZIP文件,并动态解压,然后将解压后的内容存储到磁盘上。通过这种方式,我首先将文件写入磁盘,然后在进行提取时读取文件,然后进行保存

我正在尝试使用DotNetZip来实现这一点

ZIP文件最初非常大,所以它被分为几部分(不是多部分存档,而是一个普通的ZIP存档,只是分为较小的文件),每一部分都被上传到Blob存储中。我知道如何遍历所有部分,并在需要时打开每个blob n

Azure SDK具有
CloudBlob.OpenRead()
,它返回
子代

DotNetZip有一个
ZipInputStream
类,该类有一个接受
流的构造函数

public sealed class ZipBlobStream : Stream
{
...

如何将这些片段连接在一起,以便逐个下载ZIP文件片段并动态提取它们?

创建自己的流类,该流类将根据其位置从相应的CloudBlob返回数据

然后将该类a输入流用于
ZipInputStream

public sealed class ZipBlobStream : Stream
{
...

创建您自己的流类,该流类将根据其位置从相应的CloudBlob返回数据

然后将该类a输入流用于
ZipInputStream

public sealed class ZipBlobStream : Stream
{
...