0

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

SevenZipSharp(尤其是 SevenZipExtractor 类)可以使用 URLhttps://myaccount.file.core.windows.net/shared1/folder1/data00054.zip代替本地文件吗?

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

4

1 回答 1

1

即使没有像 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);

根据需要应用 using-blocks。

如果你真的很想使用第三方库,你可以在这里找到文档(这里是源代码) 。如您所见,它也可以与任意流一起使用:

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);
于 2015-06-10T12:45:45.690 回答