Rails carriewave 根据一个 url 来保存图片

wildwind · 2014年03月11日 · 最后由 zhangcaiyan 回复于 2014年03月12日 · 2786 次阅读

~~ 现在知道一个图片的 url,需要将这个图片用 carriewave 上传保存?求指导。。。。

#1 楼, --不是用 form 来上传。是直接程序读一个 url,然后将图片保存。请大虾明示

require 'open-uri' io = open(URI.parse(uri))

你们三个的头像都一样的啊 😱

#2 楼 @wildwind rails console:

user.remote_avatar_url = 'http://some/thing/from/url.jpg'
user.save

@Martin91 @ruby_sky 最好加上异常 retry

try = 0
begin
   user.remote_avatar_url = 'http://domain/a.jpg'
rescue Exception => e
   try += 1
   retry if try < 3
end

#5 楼,正是我想寻找的,看了半天没找到~~~~THX #7 楼,nice

#7 楼 @huhongda 嗯嗯,谢谢。不过顺便提一个哈。

按照 Ruby 的惯例,只捕获StandardError以及它的子类,永远不要去捕获 Exception。捕获Exception意味着你将捕获到你不想要去捕获的异常,例如SystemExit

@Martin91 ,对哈!我那个程序将异常捕获改成 rescue => e 捕获的就是 StandardError 异常,默认是 StandardError @wildwind , 可以优化一下!

今天正好用到了这个

wildwind 关闭了讨论。 05月14日 22:24
需要 登录 后方可回复, 如果你还没有账号请 注册新账号