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://'部分是方案,而第三个斜杠是路径的开始。 – d11wtq
它可能看起来像一个错误,所以我打开了另一个线程:http://stackoverflow.com/questions/10571945/ruby-uri-module-produces-illegal-file-uri – ori