解压缩AWS对象
本文关键字:对象 AWS 解压缩 | 更新日期: 2023-09-27 18:18:18
我正在做一个项目,我需要从S3桶获得Zip文件。我可以使用
将这些文件一次一个地复制到我的EC2实例中 foreach (S3Object o in response.S3Objects)
{
GetObjectRequest requests = new GetObjectRequest();
requests.BucketName = "mybucket";
requests.Key = o.Key;
GetObjectResponse responses = client.GetObject(requests);
responses.WriteResponseStreamToFile(@"D:'myfile.zip");
Console.WriteLine("{0}'t{1}'t{2}", o.Key, o.Size, o.LastModified);
}
但是我想把这些文件解压缩到一个特定的位置,而不是复制到本地。我尝试了以下操作,但没有成功
using (ZipArchive archive = ZipFile.OpenRead(responses.ResponseStream.ToString())) //unzip file
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
archive.ExtractToDirectory(myPath);
}
}
}
谢谢
ZipFile.OpenRead()
接受本地文件的文件名,因此无法工作。但是,您可以在MemoryStream
中解压缩归档文件(参见此答案和此答案)。