multipart/form-java
am 27.12.2005 17:57:37 von Lamberto Altieri------=_NextPart_000_0017_01C60B0F.05DA5ED0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi there,
I have a problem!
I must send a post multipart/form-data message from an applet to a =
servlet,
I wrote this piece of code:
try{
// Create a socket to the host
String hostname=3D"localhost";
int port=3D8080;
InetAddress addr=3DInetAddress.getByName(hostname);
Socket socket=3Dnew Socket(hostname,port);
// Construct data
String dataA=3D"------AaB03x\r\n",
dataB=3D"Content-Disposition: form-data; =
name=3D\"submitter\"\r\n",
dataC=3D"\r\n",
dataD=3D"Larry\r\n",
dataE=3D"------AaB03x\r\n",
dataF=3D"Content-Disposition: form-data; name=3D\"files\"; =
filename=3D\"file1.txt\"\r\n",
dataG=3D"Content-Type: text/plain\r\n",
dataH=3D"\r\n",
dataI=3D"... contents of file1.txt ...\r\n",
dataL=3D"------AaB03x--\r\n";
int len=3DdataA.length()+
dataB.length()+
dataC.length()+
dataD.length()+
dataE.length()+
dataF.length()+
dataG.length()+
dataH.length()+
dataI.length()+
dataL.length();
=20
// Send header
String path=3D"/upload/requestupload";
BufferedWriter wr=3Dnew BufferedWriter(new =
OutputStreamWriter(socket.getOutputStream()));
wr.write("POST "+path+" HTTP/1.0\r\n");
wr.write("Content-Length: "+len+"\r\n");
wr.write("Content-Type: multipart/form-data; =
boundary=3D------AaB03x\r\n");
wr.write("\r\n");
// Send data
wr.write(dataA);
wr.write(dataB);
wr.write(dataC);
wr.write(dataD);
wr.write(dataE);
wr.write(dataF);
wr.write(dataG);
wr.write(dataH);
wr.write(dataI);
wr.write(dataL);
wr.flush();
=20
// Get response
BufferedReader rd=3Dnew BufferedReader(new =
InputStreamReader(socket.getInputStream()));
String line;
while((line=3Drd.readLine())!=3Dnull)
System.out.println(line);
wr.close();
rd.close();
socket.close();
}
catch(Exception e) {e.printStackTrace();}
but this kind of error is thrown by tomcat 5.5:
24-dic-2005 1.45.27 org.apache.catalina.core.ApplicationContext log
GRAVE: error reading or saving file
java.io.IOException: Corrupt form data: premature ending
at =
com.oreilly.servlet.multipart.MultipartParser.
:205)
at =
com.oreilly.servlet.MultipartRequest.
at DemoRequestUploadServlet.doPost(DemoRequestUploadServlet.jav a:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at =
org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(Applicat=
ionFilterChain.java:252)
at =
org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilte=
rChain.java:173)
at =
org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve=
..java:213)
at =
org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve=
..java:178)
at =
org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:=
126)
at =
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo rtValve.java:=
105)
at =
org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.j=
ava:107)
at =
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd apter.java:14=
8)
at =
org.apache.coyote.http11.Http11Processor.process(Http11Proce ssor.java:856=
)
at =
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHand ler.processCo=
nnection(Http11Protocol.java:744)
at =
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(Poo lTcpEndpoint.=
java:527)
at =
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt( LeaderFollowe=
rWorkerThread.java:80)
at =
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.ru n(ThreadPool.=
java:684)
at java.lang.Thread.run(Unknown Source)
I use cos.jar crated by o'reilly for reading the multipart/form-data =
message.
Is this an encoding problem? Can you help me?=20
If you need further info.....
Thanks
Yours,
Lamberto Altieri
------=_NextPart_000_0017_01C60B0F.05DA5ED0--