Estoy tratando de implementar la selección de un archivo local y enviar su ruta a js.

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

Esta opción devuelve una ruta sin delimitadores - "PathTofile", aunque la ruta en sí está escrita en el archivo - "Ruta \ A \ Archivo". dime, por favor, que estoy haciendo mal?

-7
Елизавета 12 nov. 2017 a las 13:24

2 respuestas

La mejor respuesta

El problema es que su FileName tiene barras simples. JS interpretará esas barras como caracteres de escape.

La solución más simple es reemplazar sus barras simples con barras dobles:

_mainWindow.Browser.ExecuteScriptAsync(
    "document.getElementById('location').value=" + '\''
        + openFileDialog.FileName.Replace(@"\", @"\\") + '\'');
1
mjwills 12 nov. 2017 a las 11:14
_mainWindow.Browser.ExecuteScriptAsync( "document.getElementById('location').value=" + '\'' + openFileDialog.FileName.Replace(@"\", @"\\") + '\'');

¡Gracias!

1
Елизавета 12 nov. 2017 a las 11:07