解压缩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);
                    }
                }
            }

谢谢

解压缩AWS对象

ZipFile.OpenRead()接受本地文件的文件名,因此无法工作。但是,您可以在MemoryStream中解压缩归档文件(参见此答案和此答案)。