从 ZipArchive 获取文件流
本文关键字:文件 获取 ZipArchive | 更新日期: 2023-09-27 18:31:43
我有一个需要文件流作为输入的函数。
我想将几个文件交给我从上传的zip文件中获得的功能。是否可以在不将文件解压缩到临时文件夹的情况下创建文件流?
我想象着这样的事情:
string path = @"C:'somepathtomyzip";
string filepath = "nameofimagefile"
using (ZipArchive archive = ZipFile.OpenRead(path))
{
ZipArchiveEntry entry = archive.GetEntry(file_path);
//generate Filestream from entry
myFunction(filestreamIneed);
}
您可以使用
ZipArchiveEntry.Open()
并将返回的Stream
实例的输出复制到FileStream
实例:
using (ZipArchive archive = ZipFile.OpenRead(path))
{
ZipArchiveEntry entry = archive.GetEntry(file_path);
var memoryStream = return entry.Open();
using (var fileStream = new FileStream(fileName, FileMode.CreateNew, FileAccess.ReadWrite))
{
memoryStream.CopyTo(fileStream); // fileStream is not populated
}
}