我有一个可以使用 7zip 解压的 zip 文件(.Exe - 自解压 zip 文件)。由于我想自动化提取过程,我使用了下面的 C# 代码。它适用于普通的 7z 文件。但是当我尝试提取特定的自解压 (.Exe) zip 文件时,面对这个问题“无法访问关闭的流”。供参考。我手动确保 7zip 命令行版本正在解压缩文件。
using (SevenZipExtractor extract = new SevenZipExtractor(zipFileMemoryStream))
{
foreach (ArchiveFileInfo archiveFileInfo in extract.ArchiveFileData)
{
if (!archiveFileInfo.IsDirectory)
{
using (var memory = new MemoryStream())
{
string shortFileName = Path.GetFileName(archiveFileInfo.FileName);
extract.ExtractFile(archiveFileInfo.Index, memory);
byte[] content = memory.ToArray();
file = new MemoryStream(content);
}
}
}
}
zip 文件位于 Azure blob 存储中。我不知道如何在 blob 存储中获取提取的文件。