>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >post upload?? http://forum.mozilla-russia.org/viewtopic.php?id=50291 |
bidlocoder > 21-06-2011 14:07:51 |
собственно нужно загружать файлы на сервак там собствено уже есть готовая процедура Выделить код Код: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 |
banbot > 21-06-2011 15:35:17 |
bidlocoder
Эти методы пока не включены в Firefox. Попробуйте использовать что-нибудь с https://developer.mozilla.org/en/using_ … plications |
Shutnik > 22-06-2011 11:44:23 |
пользуйтесь интерфейсами напрямую (по памяти, работоспособность не проверял): Выделить код Код: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); |