JavaScript创建与读写本地文件(IE&Firefox)

在IE下,可以使用ActiveXObject来实现 var fso = new ActiveXObject("Scripting.FileSystemObject"); var f1 = fso.CreateTextFile("test.csv", true); f1.WriteLine("Hello"); f1.WriteBlankLines(1); //换行 f1.Close();

这里可以使用相对地址, 要想知道文件的绝对路径的话, 可以使用

var ofile=fso.getFile("test.csv"); alert(ofile.path);

在Firefox下, ActiveXObject无法使用, 可以用以下方式实现

var path = "c:\\test.csv"; var content = "Hell0"; try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch (e) { alert("no permisson..."); } var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath(path); if ( file.exists() == false ) { file.create( Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 420 ); } var outputStream = Components.classes["@mozilla.org/network/file-output-stream;1"] .createInstance( Components.interfaces.nsIFileOutputStream ); outputStream.init( file, 0x04 | 0x08 | 0x20, 420, 0 ); var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"] .createInstance(Components.interfaces.nsIScriptableUnicodeConverter); converter.charset = 'UTF-8'; var convSource = converter.ConvertFromUnicode(content); var result = outputStream.write( convSource, convSource.length ); outputStream.close(); alert("File was saved in "+path);

如果弹出 no permisson... 的窗口的话就要修改firefox的config了。

修改方法: 在地址栏输入about:config --> 找到 signed.applets.codebase_principal_support -->双击 值改为true就可以了。

此处的path指定的是绝对的地址, 如果使用相对地址, 有兴趣的可以再研究研究。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值