路径分隔符丢失

时间:2017-11-12 10:24:41

标签: javascript c# wpf cefsharp

我试图实现本地文件的选择并将其路径发送到js。

_mainWindow.Browser.ExecuteScriptAsync(
  "document.getElementById('location').value=" + 
  '\'' + openFileDialog.FileName + '\'');

此选项返回没有分隔符的路径 - " PathTofile",尽管路径本身已写入文件 - " Path \ To \ File"。请告诉我,我做错了什么?

2 个答案:

答案 0 :(得分:1)

_mainWindow.Browser.ExecuteScriptAsync( "document.getElementById('location').value=" + '\'' + openFileDialog.FileName.Replace(@"\", @"\\") + '\'');

谢谢你!

答案 1 :(得分:1)

问题是你的FileName中有一个单斜线。 JS会将这些斜杠解释为escape characters

最简单的解决方案是用双斜杠替换单斜杠:

_mainWindow.Browser.ExecuteScriptAsync(
    "document.getElementById('location').value=" + '\''
        + openFileDialog.FileName.Replace(@"\", @"\\") + '\'');