Newsgroup: it.comp.lang.javascript
Titolo: Upload Files eccezione boundary

Ciao a tutti,
voglio fare l'upload di due file (tramite le multipart di oreilly) e
l'inserimento di una stringa dalla stessa pagina html, se faccio
<form id="form" action="../ControlloUploadImmagini" method="post"
enctype="multipart/form-data">
e poi facendo recuperare i nomi dei vari input funziona tutto
perfettamente.
Io però vorrei non utilizzare il metodo illustrato sopra ma vorrei
utilizzare una funzione js del seguente tipo e farmi ritornare dalla
servlet l'xml di risposta per l'avvenuto inserimento o per l'eventuale
errore di inserimento
function upload(){
	httpRequest=getText();
	var url="
http://localhost:8080/PROVA/ControlloUploadImmagini
";
	httpRequest.open('GET', url, true);
	httpRequest.setRequestHeader("Content-Type","multipart/form-data");
	httpRequest.onreadystatechange = function () {
   	if (httpRequest.readyState == 4) {
	}
}
httpRequest.send(null);
 
}
la funzione upload() la richiamo tramite un bottone
<input type="button" onClick="upload" value="invia">
La servlet viene richiamata correttamente ma mi da la seguente
eccezione:
Separation boundary was not specified
Ho provato  a guardare in giro ma non mi riesce di capire come
risolvere !!!!
Grazie 
Andrea

risolvere !!!!
Se usi POST ti faccio un esempio da cui *partire* per il tuo script:
 req = new XMLHttpRequest();
// url per il POST
 url="
http://localhost/my/upload/upf.php
";
 // Separation boundary
 sepcode="AaB3x";
// Separation boundary nel body della richiesta
 sep="--"+sepcode;
// cr + lf
 crlf="\r\n";
// fbody conterra' il body della richiesta
 // begin
 fbody =sep+crlf;
 // un campo input di nome field1 e value test field 1
 fbody+="Content-Disposition: form-data; name=\"field1\""+crlf+crlf;
 fbody+="test field 1"+crlf;
 fbody+=sep;
 // upload di un file di testo
 fbody+=crlf;
// name del campo file1, nome del file prova.txt
 fbody+="Content-Disposition: attachment; name=\"file1\";
filename=\"prova.txt\""+crlf;
// tipo del contenuto del file
 fbody+="Content-Type: text/plain"+crlf+crlf;
// contenuto del file
 fbody+="contenuto del file"+crlf;
 fbody+=sep;
 //file binario, un gif per esempio
 fbody+=crlf;
// name = file2 nome del file smile.gif
 fbody+="Content-Disposition: attachment; name=\"file2\";
filename=\"smile.gif\""+crlf;
// encoding del contenuto del file: base64
// essendo binario puoi definire una codifica per inviarlo
// lato server potrai decodificarlo per averlo in binario
 fbody+="Content-Transfer-Encoding: base64"+crlf;
// tipo del contenuto del file
 fbody+="Content-Type: image/gif"+crlf+crlf;
// contenuto del file codificato in base64
fbody+="R0lGODlhDgAOAKEAAAAAAP//AL+/vwAAACH5BAEAAAIALAAAAAAOAA4AAAIqlI+JwKDGggwsgYnpopdrKEXe12WTI1zlSYZYh6ZhE27md4jzkzb8bygAADs";
 fbofy+=crlf;
 // end del body
 fbody+=sep;
// fine creazione body della richiesta
// open request
 req.open("POST",url,false);
// definisce il content type ed il boundary
 req.setRequestHeader("Content-type",
"multipart/form-data,boundary="+sepcode);
// definisce la dimensione del body inviato
 req.setRequestHeader("Content-Length", fbody.length);
// invia la richiesta
 req.send(fbody);
Questo e' solo un esempio ovviamente, ma e' un punto di partenza.
'bye