如何使用ruby从s3存储桶下载zip文件

时间:2013-05-06 07:55:50

标签: ruby amazon-web-services amazon-s3 rubygems chef-solo

我能够压缩所有必需的文件(使用AWS SDK的ruby gems)&将它们上传到S3存储桶。当我试图将zip文件从S3下载到本地服务器&解压缩它们,我正在跟踪错误......

[2013-05-06T07:19:37 + 00:00]致命错误:TypeError:aws_unzip [db_unzip](aws :: unzip第14行)出错:TypeError:无法复制NilClass

即使我尝试手动解压缩,我也可以看到“zip文件已损坏”...但是S3位置中存在的zip文件没有损坏(我测试通过下载它们手动提取它们,它提取得很好).... 任何人都可以帮助我在从存储桶读取zip文件到本地服务器时犯了错误????? 下载时它已损坏......

我的代码是

File.open(dd, 'w') {|f| f.write(obj.read.force_encoding('utf-8'))}

1 个答案:

答案 0 :(得分:2)

尝试'wb'模式 - zip是一个二进制文件。此外,force_encoding非常可疑。