我的代码:
require 'rio'
rio('nice.jpg') < rio('http://farm4.static.flickr.com/3134/3160515898_59354c9733.jpg?v=0')
但下载的图像被破坏了。这个解决方案有什么问题?
最佳答案
PJB3是正确的。您必须在左侧术语中调用binmode:
rio('nice.jpg').binmode < rio('http://...')
如果这仍然不起作用(特别是,它可能发生在大型JPEG文件中,即RIO在从您提供的URL检索时使用中间临时文件),然后将
binmode
修饰符应用于这两个术语:rio('nice.jpg').binmode < rio('http://...').binmode
2011更新
根据Luke C,上述答案不再适用于更新版本的宝石:
这两个都不管用。在Linux上,在目标上设置.binmode会导致errno::enent异常。做:里约热内卢(‘尼斯’JPG’)RIO(HTTP://…)binmode作品
关于ruby - 下载带有Ruby RIO gem的图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/573116/