如果用户在body中输入youtube url并保存记录,我想在视图中显示它的缩略图。
有什么好的技巧吗?还是一颗好宝石?
示例输入url:
http://www.youtube.com/watch?v=qrO4YZeyl0I
是否从URL解析视频ID代码?例如,在您的示例中,它将是qrO4YZeyl0I
。
http://img.youtube.com/vi/qrO4YZeyl0I/0.jpg
http://img.youtube.com/vi/qrO4YZeyl0I/1.jpg
http://img.youtube.com/vi/qrO4YZeyl0I/2.jpg
http://img.youtube.com/vi/qrO4YZeyl0I/3.jpg
简单地选择视频的默认缩略图使用:
http://img.youtube.com/vi/qrO4YZeyl0I/default.jpg
查看这个答案了解更多细节-我如何从YouTube API获得YouTube视频缩略图?
我最近需要youtube缩略图,所以只是一个更新。当前的url如下:
http://i1.ytimg.com/vi/video_id/default.jpg
http://i1.ytimg.com/vi/video_id/mqdefault.jpg
http://i1.ytimg.com/vi/video_id/hqdefault.jpg
http://i1.ytimg.com/vi/video_id/sddefault.jpg
http://i1.ytimg.com/vi/video_id/1.jpg
http://i1.ytimg.com/vi/video_id/2.jpg
http://i1.ytimg.com/vi/video_id/3.jpg
您可以解析url,并在保存模型之前从youtube获取缩略图:
Gemfile:
gem 'youtube_it'
模型:
before_save :get_youtube_thumbnail
def get_youtube_thumbnail
url = extract_url_from_body
unless url.blank?
client = YouTubeIt::Client.new
response = client.video_by(url)
self.thumbnail = response.thumbnails.first.url
end
end
def extract_url_from_body
URI.extract(body).first
end
视图:
<%= image_tag model.thumbnail, alt: model.title %>