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