0

我在s3存储桶和url中有一个图像来访问它。
我想从s3读取图像并创建一个缩略图图标并将thumbnail_icon推到s3。从s3服务器读取图像并从rails处理它

如果图像在本地,我可以读取图像并将其转换为StringIO。从那以后,我可以推StringIO在S3中创建缩略图:

item = File.read(url) 
data_io = StringIO.new(item) 
s3_connection.interface.put(data_io, ...) 

我怎么能打开远程文件和处理呢?

File.open(remote_url)回报No such file or directory

OpenURI我可以读取该文件。但我无法将其转换为StringIO

response = open(remote_url) #Tempfile 
data_io = StringIO.new(response) 
#can't convert Tempfile into String` 

我在想什么?

回答

1

StringIO初始化方法需要一个字符串作为唯一的参数。你给它的对象是一个Tempfile。试试这个:

data_io = StringIO.new(response.read) 
+0

感谢它运作良好。有没有办法读取一个'pdf'文件并将其放到图像格式的S3? – 2014-10-06 14:23:51