【问题标题】:Unzip AWS object解压缩 AWS 对象
【发布时间】:2017-03-30 22:02:28
【问题描述】:

我正在做一个需要从 S3 Bucket 获取 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);

                    }
                }

            }

谢谢

【问题讨论】:

    标签: c# amazon-web-services amazon-s3 amazon-ec2


    【解决方案1】:

    ZipFile.OpenRead() 采用本地文件的文件名,因此无法正常工作。但是,您可以在 MemoryStream 中解压缩存档(请参阅此 answer 和此 answer)。

    【讨论】:

    • 我认为这不会将文件解压缩到我的 EC2 实例上的本地文件夹,对吗?它在不解压缩的情况下读取 ZIP。我想将文件解压缩到我的 EC2 实例上的本地文件夹。
    猜你喜欢
    • 2019-11-17
    • 2011-06-28
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    相关资源
    最近更新 更多