6

我有一个代表文件路径的字符串,例如“/home/user/dir1/dir2/dir3/name.ext”。现在我想将其转换为合法的 URI(以“file://”等开头的字符串)。

我如何在 Ruby 中做到这一点?

4

2 回答 2

6
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"
于 2012-05-13T12:09:15.900 回答
2

由于 Ruby 2.6.3 使用可以使用URI::File

path = '/somewhere/on/your/drive'
URI::File.build([nil, path])
于 2019-04-29T12:09:46.220 回答