Ruby on rails 我如何翻译;文件。打开";要兼容S3?
我有这条线Ruby on rails 我如何翻译;文件。打开";要兼容S3?,ruby-on-rails,ruby,amazon-s3,Ruby On Rails,Ruby,Amazon S3,我有这条线 @organization.search_image = File.open(@photo.photo.path(:original)) 除了寻找一些本地的东西,我所有的照片现在都在S3上了。如何将其转换为在S3上打开文件?您会想到两个选项: 使用提供的抽象,并使用S3访问您的数据 继续文件系统抽象,但将S3绑定到一个本地代理文件系统,该文件系统可用于*nix/OSX(但据我所知,不适用于Windows),从而降低了这种方法的普遍适用性。这可能也比方案1的效率低 我认为您应该做的是
@organization.search_image = File.open(@photo.photo.path(:original))
除了寻找一些本地的东西,我所有的照片现在都在S3上了。如何将其转换为在S3上打开文件?您会想到两个选项:
我认为您应该做的是在S3中下载/流式传输图像,并将其写入新文件,然后使用新文件
open('newpic.png', 'w') do |file|
S3Object.stream('pic.png', 'bucket_name') do |chunk|
file.write chunk
end
end
#Write the streamed file to newpic.png then use newpic.png.
虽然S3Ruby绑定可以工作,但我似乎无法将其转换为可以在本地设备上使用的东西,更不用说重新发送回服务器了。我发现了Right_Aws,并为此编写了一个脚本,但它无法处理写入和重新添加到服务器的操作。