在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指定的是絕對的地址, 如果使用相對位址, 有興趣的可以再研究研究。