After some modifications, now the code is working for uploading file with
the combination of XMLHttpRequest() and XPCOM FilePicker component.

I am uploading XML file so I ententially written this code for XML file
upload.
(Others can modify it)


function uploadFile()
{
 try
 {
  var nsIFilePicker = Components.interfaces.nsIFilePicker;
  var fp =
Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker
);
  fp.init(window, "Upload file : Backoffice server",
nsIFilePicker.modeOpen );
  fp.appendFilters(nsIFilePicker.filterXML);
  var res=fp.show();
  var fileContent;
  var fileName;
  if (res==nsIFilePicker.returnOK){
   fileContent = readFile(fp.file.path);
   var parser = new DOMParser();
   var fileDom = parser.parseFromString(fileContent, "text/xml");
  }
 //
  if (fileContent)
  {
   var httpRequest = new XMLHttpRequest();
   httpRequest.open("POST","http://localhost/upload.php";), false, null,
null);
   httpRequest.setRequestHeader("Content-Type","text/xml");
   httpRequest.send(fileDom);
   alert("\n Responce: " + httpRequest.responseText);
  }
 }
 catch (ex)
 {
  dump("\n uploadFile => " + ex);
 }
}


function readFile(filePath)
{
 try
 {
  try {
   netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  } catch (e) {
   alert("Permission to read file was denied.");
  }
  var file = Components.classes["@mozilla.org/file/local;1"]
   .createInstance(Components.interfaces.nsILocalFile);
  file.initWithPath( filePath );
  if ( file.exists() == false ) {
   alert("File does not exist");
  }
  var is = Components.classes["@mozilla.org/network/file-input-stream;1"]
   .createInstance( Components.interfaces.nsIFileInputStream );
  is.init( file,0x01, 00004, null);
  var sis = Components.classes["@mozilla.org/scriptableinputstream;1"]
   .createInstance( Components.interfaces.nsIScriptableInputStream );
  sis.init( is );
  var output = sis.read( sis.available() );
  file://dump("\n output: " + output);
  return output;

 }
 catch (ex)
 {
  dump("\n readFile => " + ex);
 }
}

Regards,
Sandesh

--
SEE: http://in.geocities.com/skexz



_______________________________________________
Mozilla-xpcom mailing list
[EMAIL PROTECTED]
http://mail.mozilla.org/listinfo/mozilla-xpcom

Reply via email to