使用 ActiveX 在 PERL 中读取文件

Reading file in PERL using ActiveX

我一直在尝试使用 ActiveX 控件在 PERL 中读取文件。我在 HTML 中使用 ActiveX 控件成功读取了文件。所以我使用 "Print" 语句将 HTML 代码更改为 PERL cgi。之后我无法使用 ActiveX 读取文件,其他 JavaScript 功能运行良好。

print "<script src='/EnvelopeUtility/EnvelopeJS.js'></script>";

上面一行代码用于调用外部JavaScript。

print "<td><input type='button' name='btn1' value='Process' onClick='getData(document.getElementById('sampleFile').value)'></td>";

上面这行代码是HTML中的一个按钮,它的onClick调用了JavaScript方法getdata()

var obj = new ActiveXObject('Scripting.FileSystemObject'); 

以上代码行存在于外部 JavaScript 中,它创建一个 ActiveX 对象来读取文件。

    readFile = obj.OpenTextFile(path, 1, false);
                while(!readFile.AtEndOfStream) 
                {
        readFile = obj.OpenTextFile(path, 1, false);
.................

以上代码行是读取文件行的​​代码行。

以上代码在 HTML 中运行良好,但在使用 print 语句后的 CGI 中无法读取文件。请建议应该更改哪些内容才能阅读该文件。

你有一个简单的 HTML 错误。

onClick='getData(document.getElementById('sampleFile').value)'

您的属性值由 ' 个字符分隔,但您尝试使用文字 ' 个字符作为属性内的原始数据。

因此,属性的值变为 getData(document.getElementById(,这是无效的 JavaScript。

如果您使用 validator,这会被拾取。

如果您想将 ' 用作由 ' 分隔的属性值中的数据,则必须将其表示为 &#39;.