Невозможно прочитать содержимое текстового файла, используя JavaScript в приложении asp.net - PullRequest
0 голосов
/ 11 июня 2019

Я использую ActivX из IE11, чтобы получить доступ к локальному файлу и прочитать содержимое текстового файла. Когда я открываю файл локально, он отображает текст в правильном формате, но при открытии с использованием javascript в качестве вывода появляется случайный китайский текст в юникоде.

Я загружаю файл .bat, который запускает файл .ps1, чтобы получить ping и tracert веб-сайта, и экспортирую его в файл .txt. После завершения экспорта я читаю содержимое файла.

Ниже приведен мой код .ps1, который успешно выполняется.

$PingStatus = test-connection 8.8.8.8 -Count 4
$PingStatus | out-file $env:TEMP/pingTrace.txt
$Trace = Test-NetConnection -TraceRoute -ComputerName 8.8.8.8
$Trace | out-file $env:TEMP/TraceRoute.txt

Ниже приведен мой код Javascript, с помощью которого я читаю файл.

var reader = new FileReader();
            var output = ""; //placeholder for text output
            var ws = new ActiveXObject("WScript.Shell");
            var filePath = ws.ExpandEnvironmentStrings("%TEMP%") + "\\" + String.fromCharCode(92) + "\\" + "pingTrace.txt";
            var tracePath = ws.ExpandEnvironmentStrings("%TEMP%") + "\\" + String.fromCharCode(92) + "\\" + "TraceRoute.txt";
            reader = new ActiveXObject("Scripting.FileSystemObject");
            var file = reader.OpenTextFile(filePath, 1); //ActiveX File Object
            output = file.ReadAll(); //text contents of file
            file.Close(); //close file "input stream"
            var trace = reader.OpenTextFile(tracePath, 1); //ActiveX File Object
            var traceroute = trace.ReadAll();
            trace.Close();
            console.log("Ping Status: "+output);
            console.log("Trace Route: "+traceroute);

Когда я открываю текстовый файл в блокноте или любом редакторе, он показывает правильный результат в тексте на английском языке. Но когда я читаю его из JavaScript, он показывает китайские символы Unicode. Я прилагаю оба скриншота для справки. Вот как это должно выглядеть

Это происходит при чтении с использованием JavaScript

...