2017-11-12 10 views
-7

ローカルファイルの選択を実装し、そのパスをjsに送信しようとしています。 「ファイルを\へのパスの\」 - パス自体がファイルに書き込まれているが、「PathTofile」 -パス区切り文字がありません

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

このオプションは、区切り文字なしのパスを返します。私に教えてください、私は間違って何をしていますか?

+3

ただ、英語のポストは、私たちはあなたのポストを理解することはできません! – Aria

+0

@Ariaああ、申し訳ありません... "Path \ To \ File"にバックスラッシュでファイルを作成するスクリプトパスを実行する必要がありますが、スクリプトから返されます - "PathToFile"、please、 問題点を教えてください。 –

+0

https://ru.stackoverflow.com – Evk

答えて

1

問題はFileNameに1つのスラッシュが含まれていることです。 JSはスラッシュをescape charactersと解釈します。

最も簡単な解決策は、ダブルスラッシュを使用して、単一のスラッシュを置き換えることです:

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

ありがとうございました!

+0

あなたは大歓迎です。元のコメントを回答として追加します。 – mjwills

関連する問題