In IEHTA, there is ActiveX object FSO to access local files.
var objFSO = new ActiveXObject("Scripting.FileSystemObject");Is there a similar object in Mozilla Firefox Chrome?
The answer is XPCOM object @mozilla.org/file/local;1
Save to file Sample:
function saveFile(fileName, val){ try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch (e) { //alert("Permission to save file was denied."); } var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath(fileName); if (file.exists() == false) { //alert("Creating file... " ); 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 ); //UTF-8 convert var uc = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"] .createInstance(Components.interfaces.nsIScriptableUnicodeConverter); uc.charset = "UTF-8"; var data_stream = uc.ConvertFromUnicode(val); var result = outputStream.write(data_stream, data_stream.length ); outputStream.close(); }We use UTF-8 encode here.
No comments:
Post a Comment