3
"/home/user/dir1/dir2/dir3/name.ext"のようなファイルパスを表す文字列があります。今私は合法的なURI( "file://"で始まる文字列など)に変換したいと思います。ファイルパスをURIに変換する
Rubyでどうやったらいいですか?
"/home/user/dir1/dir2/dir3/name.ext"のようなファイルパスを表す文字列があります。今私は合法的なURI( "file://"で始まる文字列など)に変換したいと思います。ファイルパスをURIに変換する
Rubyでどうやったらいいですか?
require 'uri'
uri = URI.join('file:///', '/home/user/dir1/dir2/dir3/name.ext')
=> #<URI::Generic:0x0000000263fcc0 URL:file:/home/user/dir1/dir2/dir3/name.ext>
uri.scheme
=> "file"
uri.path
=> "/home/user/dir1/dir2/dir3/name.ext"
uri.to_s
=> "file:/home/user/dir1/dir2/dir3/name.ext"
ありがとうございますが、結果は(uri.to_s)違法ですか?それは "file:// home ..."であってはなりませんか? – ori
@ user1372109 'file:/// home/...'にする必要があります。 'file://'部分はスキームですが、3番目のスラッシュはパスの先頭です。 – d11wtq
バグのように見えるかもしれないので、私は別のスレッドを開いた:http://stackoverflow.com/questions/10571945/ruby-uri-module-produces-illegal-file-uri – ori