Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№121-06-2011 14:07:51

bidlocoder
Участник
 
Группа: Members
Зарегистрирован: 30-09-2010
Сообщений: 52
UA: Firefox 4.0

post upload??

собственно нужно загружать файлы на сервак
в mozdev нашел статью https://developer.mozilla.org/en/FileGuide/FileUpDown

там собствено уже есть готовая процедура



Выделить код

Код:

function upload(file, posturl, name)
{
  var boundary = "--------XX" + Math.random();

  var req = new XMLHttpRequest();
  req.open("POST", posturl);
  req.setRequestHeader("Content-type", "multipart/form-data; boundary=" + boundary);
  req.setRequestHeader("Content-length", file.fileSize);
  req.onload = function(event) { alert(event.target.responseText); }

  var prefix = "--" + boundary + "\n" +
               "Content-Disposition: form-data; name=\"" + name + "\"; filename=\"" +
               file.leafName + "\"\n" +
               "Content-type: text/plain\n\n";
  var stream = IO.newInputStream(prefix, "multi");
  stream.appendStream(IO.newInputStream(file, ""));
  stream.appendStream(IO.newInputStream("\n--" + boundary + "\n", ""));

  req.send(stream);
}

но она не работает, а именно  сообщение TypeError: IO.newInputStream is not a function
использую firefox4
может кто подскажет в чем дело?

Отсутствует

 

№221-06-2011 15:35:17

banbot
Moderator
 
Группа: Moderators
Зарегистрирован: 23-12-2007
Сообщений: 5283
UA: Firefox 4.0

Re: post upload??

bidlocoder
Там же написано:

The pages from the File and Stream Guide use the IO object (nsIScriptableIO), which was not available in any released version of the platform

Эти методы пока не включены в Firefox.

Попробуйте использовать что-нибудь с https://developer.mozilla.org/en/using_ … plications


Do you feel lucky, punk?

Отсутствует

 

№322-06-2011 11:44:23

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 5.0

Re: post upload??

пользуйтесь интерфейсами напрямую (по памяти, работоспособность не проверял):

Выделить код

Код:

var stream = Components.classes["@mozilla.org/io/multiplex-input-stream;1"].createInstance(Components.interfaces.nsIMultiplexInputStream);

var data = Components.classes["@mozilla.org/io/string-input-stream;1"].createInstance(Components.interfaces.nsIStringInputStream);
data.setData(prefix, prefix.length);
stream.appendStream(data);

var data2 = Components.classes["@mozilla.org/io/string-input-stream;1"].createInstance(Components.interfaces.nsIStringInputStream);
data2.setData(file, file.length);
stream.appendStream(data2);

var data3 = Components.classes["@mozilla.org/io/string-input-stream;1"].createInstance(Components.interfaces.nsIStringInputStream),
    postfix = "\n--" + boundary + "\n";
data3.setData(postfix, postfix.length);
stream.appendStream(data3);

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]