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

Ads
 

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..

Ads









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
How to upload file on FTP Server
How to upload files to server using JSP/Servlet?
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
How to save image on the server by applet
How to save image on the server by applet
how to upload image from jsp to mssql
how to upload image from jsp to mssql
upload an image
scan a QRCode imageimage and upload to server
how a write a server side progranming in j2sdk for j2me application
how to make an image act like upload dialog box
how to make an image act like upload dialog box
upload image
Upload image
To scan a image encode that image in j2me
Upload image
image upload
How to upload zip file from android to server programmatically?????
upload image
How display a image on servlet from file upload - JSP-Servlet

Ads