2012-01-06 13 views

答えて

5

は、これを行うための簡単な方法があるかもしれませんが、私はPathnameURIライブラリ

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 

の組み合わせを使用することをお勧めしたい詳細は PathnameURIライブラリのドキュメントを参照してください。

+0

あなたの再生のためのThanx ...私の別の質問は、どのように私はuriのソースフォルダを通過して拡張子を取得できますか? –

24

あなたは

url = "http://testasp.vulnweb.com/avatars/noavatar.gif" 
File.extname(url) #=> .gif 
+0

あなたの再生のための余裕度 –

+0

URLはファイルパスのように見えますそれは必ずしも有効な前提ではありません。フラグメントまたはCGIパラメータがある場合はどうなりますか? –

0

私はあなたがファイルの拡張子を抽出について尋ねられたことを知っている、しかし/答えをこの質問を見て、ファイルのEXTNAMEメソッドを使用することができますDetermine file type in Ruby、それはむしろMIMEタイプに依存して、より良く、より安全です延長よりも。

2

あなたがRailsの中で、あなたがリクエストURLパスの拡張子について話している場合は、コントローラまたはヘルパーからこれを行うことができます。

File.extname(request.path) 

request.pathは、リクエストオブジェクトのメソッドであることに留意レールコントローラ。

そして、そのrequest.pathがnilを返すことはないことに注意してください。

関連する問題