2012-12-04 6 views
32

Was ist ein guter Weg, filename.jpg von extrahieren:Was ist eine gute Möglichkeit, den Dateinamen von einer URL in Ruby zu bekommen?

url = 'http://www.example.com/foo/bar/filename.jpg?2384973948743' 

ich Ruby-1.9.3 mit bin.

+1

war Zeigt file.txt verwenden können einige antworten usefu Ich für dich? –

+0

Ja, deine Antwort war nützlich. Ich habe es aufgewertet. –

+1

@silvu, ist es notwendig zu trollen, um Ihre Antwort zu akzeptieren? Es wird als gute Form angesehen, eine Antwort zu akzeptieren, und es wird als schlechte Form angesehen, für sie zu trollen. Ihr zwei trifft irgendwo in der Mitte zusammen, aber es liegt am OP zu entscheiden. –

Antwort

79
require 'uri' 

url = 'http://www.example.com/foo/bar/filename.jpg?2384973948743' 

uri = URI.parse(url) 

puts File.basename(uri.path) 

#=> filename.jpg 
3

Der einfachste Weg ist wahrscheinlich URI.parse

url_object = URI.parse([my url]) 
url_path = url_object.path 
filename = url_path.split("/").last 
+0

berücksichtigt Parameter nicht nach Basisname, immer noch nützliche Antwort – akostadinov

2

Wenn Sie query_string in url erwarten Sie nicht zu verwenden, können Sie einfach File.basename

puts File.basename('http://example.com/folder1/folder2/file.txt') 

Verwandte Themen