ruby – 将StringIO写入Tempfile

我正在用红宝石从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是无效的图像.不知道如何进行这个.

谢谢

解决方法

你超级亲密:
file.binmode
file.write stringIo.read

打开(url)只是打开流阅读.在它调用.read之前,实际上并没有读取数据(然后可以传入file.write).

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...