我尝试使用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下载有问题。
提前致谢。