如何使用javascript将数据附加到文件?
我尝试使用此代码,但是我收到了错误:
var fso = new ActiveXObject("Scripting.FileSystemOject");
var filepath = fso.GetFile("member.txt");
var fileObject = fso.OpenTextFile(filepath, 8);
file.WriteLine(id + "|" + pass);
fileObject.close();
错误在var fso = new ActiveXObject("Scripting.FileSystemOject");
上,写着:Error: Automation server can't create object
有没有其他方法使用javascript或修复此方法来附加文件?谢谢:))
修改 我已经做了this上写的内容,但它仍无法正常工作:/
答案 0 :(得分:1)
我刚才在你的代码中意识到了这些:
var fileObject = fso.OpenTextFile(filepath, 8,true);
如果文件不存在,或者你想覆盖/附加它,你需要true
- 参数。
var filepath = fso.GetFile("member.txt");// This won't work.
var filepath = "your_filePath"; // Use this instead
var fileObject = fso.OpenTextFile(filepath, 8, true);
OpenTextFile()
需要一个像"D:/test/file.txt"
这样的字符串的路径。 GetFile()
会返回一个对象,您可以将视为字符串(D:\test\file.txt
),但它不是字符串。使用绝对路径,根据我的经验,相对路径似乎不起作用。
修改强>
将以下代码添加到html文件的<head>
部分,然后在本地保存为hta(文件扩展名为hta
,而不是htm
或html
)。
<hta:application
applicationName="MyApp"
id="myapp"
singleInstance="yes"
/>
然后运行hta文件。如果仍然出现ActiveX错误,则操作系统不支持。如果这样做,则表示您尚未正确完成所有安全设置。
编辑II
在这种情况下,通过ActiveX获取路径并不是非常有用,无论如何你都需要将它写成文字。而且我不应该做你的作业,但这就是诀窍......
var filepath = new String(fso.GetFile("member.txt")).replace(/\\/g,'/');
不要忘记我上面所说的关于使用绝对路径的内容......
答案 1 :(得分:0)
抛出错误是因为存在不允许activex运行的安全限制。如果您使用的是Internet Explorer(我认为您是),请更改您的安全设置以允许activex。 这可能很有用http://windows.microsoft.com/en-US/windows/help/genuine/ie-activex 干杯
编辑:我已经写了这个,但它仍然无法正常工作:/ *尝试重新启动浏览器答案 2 :(得分:0)
8
函数中的OpenTextFile
指定您要附加到文件。您的问题来自浏览器的安全限制。为了使它工作,你必须降低安全级别,这是不是真的建议。