rails6.1.0
ruby3.0
ソーシャルログイン時にURI.open()を使って、facebookのアイコン画像を取得しようとしたのですがURLが長すぎてエラーになりました。
デバッグすると、URI.open(url)の行でエラー発生してました。
ruby
1 url = user.avatar 2 filename = File.basename(url) 3 open("./#{filename}", 'w+b') do |output| 4 #ここでエラー発生↓ 5 URI.open(url) do |data| 6 output.write(data.read) 7 end 8 end
エラーメッセージ
Errno::ENAMETOOLONG: File name too long @ rb_sysopen - picture?access_token=EAAHzClivKRwBAKx1gtCKK9AEctQ1Cg9Q1xKTg6rRlLXtBsfHqoauNdRBqbFBCFSbtpuwjHzTouUZBQligu2TXgWEVhAg630lplQgY3UDhKgXnEvqtZADE6jZCPiiVPuzkxZCd0Cl17ZCVDtrJNTbYMXxXLvG8BZCnp0RZCm58e4MzAjddN5IfkuguoOiagc20V2HP7X06JeNudqL49jkmktmv2DGB05doZAtwB53Mw3w5wZDZD
取得先の実際のURL
https://graph.facebook.com/v5.0/5203638792984902/picture?access_token=EAAHzClivKRwBAKx1gtCKK9AEctQ1Cg9Q1xKTg6rRlLXtBsfHqoauNdRBqbFBCFSbtpuwjHzTouUZBQligu2TXgWEVhAg630lplQgY3UDhKgXnEvqtZADE6jZCPiiVPuzkxZCd0Cl17ZCVDtrJNTbYMXxXLvG8BZCnp0RZCm58e4MzAjddN5IfkuguoOiagc20V2HP7X06JeNudqL49jkmktmv2DGB05doZAtwB53Mw3w5wZDZD
このような場合、どのような方法があるでしょうか?
先輩方アドバイス宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/31 23:49
2021/10/31 23:58