我正在尝试在ruby中读取url中的图像,而不是将其保存到Tempfile以供以后处理。
require 'open-uri'
url = 'http://upload.wikimedia.org/wikipedia/commons/8/89/Robie_House.jpg'
file = Tempfile.new(['temp','.jpg'])
stringIo = open(url)
# this is part I am confused about how to save StringIO to temp file?
file.write stringIo这是不工作的,结果是temp.jpg是无效的图像。不知道该怎么做。
谢谢
发布于 2013-08-13 18:13:21
你太亲密了:
file.binmode
file.write stringIo.readopen(url)只是打开这个流进行阅读。在调用.read之前,它实际上不会读取数据(然后可以传递给file.write)。
发布于 2014-04-20 10:09:18
您还可以使用正确的编码创建您的tempfile,如下所示:
file = Tempfile.new('temp',‘..jpg’,编码=>‘ascii-8位’)
这与将文件设置为binmode相同。
https://stackoverflow.com/questions/18216187
复制相似问题