我想在Azure FileStorage上以zip格式存储一些数据。
SevenZipSharp(尤其是SevenZipExtractor类)可以使用https://myaccount.file.core.windows.net/shared1/folder1/data00054.zip
之类的URL而不是本地文件吗?
我想从远程位置检索文件,在内存中解压缩,处理数据,然后清理内存。
答案 0 :(得分:0)
即使没有像7zip这样的第三方库,你似乎也能做到这一点:
WebClient OpenRead会从您的URI中获取一个流,ZipArchive constructor from stream会从中获取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);
根据需要使用-block。
如果您真的想要使用第三方库,可以找到文档(在本例中为源代码)here。如您所见,它也适用于任意流:
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);