Страницы: 1
собственно нужно загружать файлы на сервак
в 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
может кто подскажет в чем дело?
Отсутствует
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?
Отсутствует
пользуйтесь интерфейсами напрямую (по памяти, работоспособность не проверял):
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);
Отсутствует
Страницы: 1