ローカル (ファイルシステム) URI をパスに変換するにはどうすればよいですか? + + +
で実行できますが、それは長い道のりのようです。
もっと短い方法はありますか?nsIIOService
newURI()
QueryInterface(Components.interfaces.nsIFileURL)
file.path
コード例を次に示します。
var aFileURL = 'file:///C:/path-to-local-file/root.png';
var ios = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var url = ios.newURI(aFileURL, null, null); // url is a nsIURI
// file is a nsIFile
var file = url.QueryInterface(Components.interfaces.nsIFileURL).file;
console.log(file.path); // "C:\path-to-local-file\root.png"