aws-s3 ruby​​读取对象流到文件导致零字节文件

时间:2013-05-09 01:32:22

标签: ruby amazon-s3

即使从the docs本质上复制代码,尝试将S3对象读取到本地文件也会导致零字节文件,但不会写入任何内容。

1.9.3-p194 :057 > obj = s3_bucket.objects['/raw/2011-HD/2011-HD001-794.jpg']
 => <AWS::S3::S3Object:mybucket/raw/2011-HD/2011-HD001-794.jpg> 
1.9.3-p194 :058 > obj.exists?
 => true 
1.9.3-p194 :059 > f = File.open('/tmp/4.jpg', 'wb')
 => #<File:/tmp/4.jpg> 
1.9.3-p194 :060 > obj.read do |chunk|
1.9.3-p194 :061 >     f.write chunk
1.9.3-p194 :062?> end
1.9.3-p194 :063 > f.size
 => 0 

当不使用流媒体时,即只是阅读整个对象并编写它,它工作正常f.write obj.read

更新

要清楚,这不起作用,或多或少地逐字逐句地来自文档

1.9.3-p194 :044 > File.open('/tmp/4.jpg', 'w') do |f|
1.9.3-p194 :045 >     obj.read do |chunk|
1.9.3-p194 :046 >       f.write chunk
1.9.3-p194 :047?>     end
1.9.3-p194 :048?>   end
1.9.3-p194 :049 > File.open('/tmp/4.jpg').size
 => 0 

0 个答案:

没有答案