我想从uri中找到类似.gif,.jpg,.txt的文件扩展名,如http://testasp.vulnweb.com/avatars/noavatar.gif。
答案 0 :(得分:24)
您可以使用文件
的extname方法url = "http://testasp.vulnweb.com/avatars/noavatar.gif"
File.extname(url) #=> .gif
答案 1 :(得分:5)
可能有一种更简单的方法可以执行此操作,但我建议您使用Pathname
和URI
库的组合
require 'uri'
uri = URI("http://testasp.vulnweb.com/avatars/noavatar.gif")
path = uri.path # /avatars/noavatar.gif
pathname = Pathname.new(path)
extension = pathname.extname # gif
答案 2 :(得分:2)
如果您在Rails中并且您正在谈论请求URL路径的扩展,您可以从控制器或帮助程序执行此操作:
File.extname(request.path)
注意到request.path是rails控制器中请求对象的一种方法。
并注意到request.path永远不会返回nil。
答案 3 :(得分:0)
我知道你问过提取文件扩展名,但是看看这个问题/答案Determine file type in Ruby依靠mime类型而不是扩展名更好更安全。