流 - 从s3下载一个gzip压缩文件并解压缩?

时间:2014-07-27 19:05:37

标签: ruby-on-rails ruby amazon-s3 zlib

我尝试使用AWS-SDK从s3存储桶下载gzip压缩文件,然后使用Zlib解压缩该文件。

以下是此部分的代码:

File.open('app/assets/data.xml.gz', 'wb') do |file|
  bucket.objects['linkshare_temp/data.gz'].read do |chunk|
    file.write(chunk)
  end
end


Zlib::GzipReader.open('app/assets/data.gz','rb') do |gz|
  File.new("data.xml", "w") do |g|
    IO.copy_stream(gz, g)
  end
end

它给了我这个错误:

Zlib::GzipFile::Error: not in gzip format

该文件已从s3下载到我的本地磁盘。我可以在我的本地文件夹中看到正确名称的文件和" xml.gz"后缀,但由于某种原因,我无法打开该文件。我认为我的代码从s3下载有问题。

提前致谢。

0 个答案:

没有答案