直接从远程源解压缩zip文件



我想在 Azure 文件存储上以 zip 格式存储一些数据。

SevenZipSharp(尤其是SevenZipExtractor类)可以使用像https://myaccount.file.core.windows.net/shared1/folder1/data00054.zip这样的URL而不是本地文件吗?

我想从远程位置检索文件,解压缩内存,处理数据,然后清理内存。

即使没有任何第三方库(如 7zip),您似乎也可以做到这一点:

WebClient OpenRead将从URI中获取一个流,而ZipArchive构造函数将从中获取一个ZipArchive:

var uri = @"https://myaccount.file.core.windows.net/shared1/folder1/data00054.zip";
var wc = new WebClient();
var stream = wc.OpenRead(uri);
var zip = new ZipArchive(stream);

根据需要应用使用块。

如果您真的想使用第三方库,您可以在此处找到文档(在本例中为源代码)。如您所见,它也可以处理任意流:

var uri = @"https://myaccount.file.core.windows.net/shared1/folder1/data00054.zip";
var wc = new WebClient();
var stream = wc.OpenRead(uri);
var extractor = new SevenZipExtractor(stream);

相关内容

  • 没有找到相关文章