在asp.net应用程序中无法使用javascript读取文本文件的内容

时间:2019-06-11 10:56:46

标签: javascript c# asp.net activex activexobject

我正在使用IE11中的ActivX来访问本地文件并读取文本文件的内容。当我在本地打开文件时,它以正确的格式显示文本,但是当使用javascript打开文件时,一些随机的unicode中文文本会显示为输出。

我在做什么,我正在下载一个运行.ps1文件的.bat文件,以获取网站的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);

当我在记事本或任何编辑器中打开txt文件时,它以英文显示正确的结果。但是,当我从javascript中读取它时,它会显示unicode汉字。我附上这两个屏幕截图,以供您参考。 This is how it should look like

This is it is coming when read using javascript

0 个答案:

没有答案