我想在 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);