我正在尝试使用AWS::S3将文件上传到Amazon S3,但我想先用Zlib压缩它们。 AWS :: S3期望其数据是流对象,即您通常会上传类似
的文件AWS::S3::S3Object.store('remote-filename.txt', open('local-file.txt'), 'bucket')
(对不起,如果我的术语已关闭;我实际上对Ruby知之甚少。)我知道我可以用类似
的方式对文件进行zlib压缩data = Zlib::Deflate.deflate(File.read('local-file.txt'))
但是将data
作为第二个参数传递给S3Object.store
似乎并不像我认为的那样。 (上传很顺利,但是当我尝试从Web浏览器访问该文件时,它无法正确返回。)如何让Zlib缩小为流,或者S3Object.store
想要的任何类型的对象?< / p>
答案 0 :(得分:1)
我认为之前的问题不是我向S3Object.store
传递了错误的东西,而是我生成了一个zlib压缩的数据流而没有你通常在{{1}中找到的标题文件。无论如何,以下工作:
.gz