How to upload image to server in j2me by multipart/form-data?

How to upload image to server in j2me by multipart/form-data?

Hi,

I need upload data to java server from j2me 1.Two text messages and 3 capture images to server. 2.As java server is already designed, as we want to send data in multi part form data. 3.As write code to upload text and image.As it is working fine while we send data to server from emulator.But by uploading same code from mobile it is showing exception.I am using mobile to upload in Samsung S5620 Monte. 4.I getting exception

org.apache.commons.fileupload.FileUploadException: Processing of ``multipart/form- data request failed. Stream ended unexpectedly at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadB ase.java:384) at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest( ServletFileUpload.java:116) at org.apache.jsp.photojsp.jspService(photo_jsp.java:119) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper .java:384) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3 20) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:228) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:216) at org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol $Http11ConnectionHandler.process(Http11Protocol.java:634) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run (JIoEndpoint.java:445) at java.lang.Thread.run(Unknown Source)

From J2me I am using code to upload image to server is. HttpConnection conn = null; OutputStream os = null; // InputStream is = null;

try
{
    System.out.println("url:" + serverurl);
    conn = (HttpConnection)Connector.open(serverurl);
    conn.setRequestMethod(HttpConnection.POST);

  //  String postData = "";

    InputStream imgIs = getClass().getResourceAsStream(FILE);
    byte []imgData = new byte[imgIs.available()];
    imgIs.read(imgData);

    conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=---------------------------4664151417711");

    os = conn.openOutputStream(); 
   // os.write(message1.getBytes()); 
 // For First Image uploading

 String message1 = "";
  message1 += "-----------------------------4664151417711" + CrLf;
 message1 += "Content-Disposition: form-data; name=\"photo\"; 
                filename=\"" + FILE +    "\"" + CrLf; 
 message1 += "Content-Type: image/jpeg" + CrLf; message1 += CrLf;

      os.write(message1.getBytes());


     // SEND THE IMAGE 
     int index = 0; 
     int size = 1024; 
     do{ 
         System.out.println("write:" + index); 
         if((index+size)>imgData.length){ 
             size = imgData.length - index;  
         } 
         os.write(imgData, index, size); 
         index+=size; 
         progress(imgData.length, index); // update the progress bar. 

     }while(index<imgData.length); 

    System.out.println("DONE");

}
catch(Exception e)
{
    e.printStackTrace();
}finally
{
    System.out.println("Close connection");
    try
    {
        //os.close();
    }
    catch(Exception e){}
    try
    {
       // is.close();
    }
    catch(Exception e){}
    try
    {
      //  conn.close();            
    }
    catch(Exception e){}
}

on serside we use the code:

FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory);

boolean isMultipart = ServletFileUpload.isMultipartContent(request);

if(isMultipart) {

   **List items = upload.parseRequest(request);//I am getting exception here**


      Iterator iterator = items.iterator();
      while(iterator.hasNext())
      {
             String fieldName = "";
              String fieldValue=""; 
              String fileName = ""; 
               FileItem fileItem=(FileItem)iterator.next();
               System.out.println(fileItem.isFormField());
if (fileItem.isFormField())
{
     fieldName = fileItem.getFieldName();
     fieldValue = fileItem.getString("UTF-8").trim();

     if(fieldName.equals("photo"))
     {
         if(fieldValue!=null && fieldValue!="")
         {
              photo = fieldValue;
              System.out.println(photo);
         }
     }
}           
else

 try
 {
     if(fileItem != null)
     {
         fileName = applicationNumber+"_"+fileItem.getName();
         fieldName = fileItem.getFieldName();
        System.out.println("applicationNumber="+fileName);
     }
     if(fieldName.equals("photo"))  
    {       
       String x=fileName;
        if(x.indexOf("/")!=-1)
        {
             uploadStr = x.substring(0,x.lastIndexOf("/") );
             UploadFile = x.substring(x.lastIndexOf("/")+1,x.length() );
        }
         long sizeInBytes = fileItem.getSize();
         String applicationURL = "C:/Program Files/
           Apache Software Foundation/Tomcat 6.0/webapps/apply_smart/applications";
 StringTokenizer stringTokenizer = new StringTokenizer(UploadFile,"\\");
            int  count=stringTokenizer.countTokens();
             for(int i=1;i<=count;i++)
             {
                      String token=stringTokenizer.nextToken();
                       if(i==count)
                      {
                           audioFileName=token;
                      }
               }
              applicationURL = applicationURL;
              System.out.println("Path="+applicationURL);
              String[] filePath = fileName.split("/");
uploadedFile = new File(applicationURL+"/"+filePath[filePath.length - 1]);
                long size=uploadedFile.length();
               if(size>=11264)
                {
                   }
                                 try
                                 {
                  fileItem.write(uploadedFile);
                    path = applicationURL.replaceAll
("C:/ProgramFiles/ApacheSoftwareFoundation /Tomcat 6.0/ webapps/apply_smart/", "");
                 path= path + "/"+ filePath[filePath.length - 1];
                  System.out.println("path::::::"+path);                
            }
            catch (java.lang.Exception e)
            {
                out.println(e);
             }
                         }  
      }//else
}
catch(Exception exe)
{
 out.println(exe);
 break;
}       
                }

Please suggest me how to solve the exception and send image to server.

Thanks in advance. -Teja.

View Answers

January 24, 2012 at 6:24 PM

Hi can anyone help me...am also struggling with same exception..









Related Tutorials/Questions & Answers:
Upload image to the server in J2ME?
How to upload image to server in j2me by multipart/form-data?
Advertisements
scan a image and upload to server
Capture a image and upload to server
To scan a image and upload to server
scan a image and upload to server
upload value to php server in getmethod in j2me
image file upload to a web server
upload an image
how to insert image into server
upload image
Upload image
Upload image
To scan a image encode that image in j2me
image upload
How to upload file on FTP Server
how to store image upload path to mssql database
how to store image upload path to mssql database
how to store image upload path to mssql database
how to store image upload path to mssql database
upload image
scan a QRCode imageimage and upload to server
How to upload files to server using JSP/Servlet?
how to upload image from jsp to mssql
how to upload image from jsp to mssql
image upload - Struts
upload image data
upload image data
Text Editor Image upload
image upload in webapp/upload folder
upload a image
image upload
how to make an image act like upload dialog box
how to make an image act like upload dialog box
J2ME
j2me image application
How display a Image on servlet from file upload - JSP-Servlet
J2ME jpeg image
How display a image on servlet from file upload - JSP-Servlet
J2me image display - Java Beginners
image upload and stored in database - JSP-Servlet
image upload and stored in database - JSP-Servlet
Image Upload Error
struts2 upload image public_html
How display a image on servlet from file upload - JSP-Servlet
How to save image on the server by applet
How to save image on the server by applet
upload image to database
four rectangle/image of the shape of the button.then Draw these on some x and y co-ordinated in j2me then how to draw ?
How display a Image on Servlet from file upload - JSP-Servlet

Ads