2013-08-17 179 views
0

如何將我的Phonegap應用程序的圖片上傳到使用servlet的服務器?從phonegap應用程序上傳圖像到服務器(servlet)

我的功能看起來是這樣的:

function uploadPhoto(imageURI) { 
      var options = new FileUploadOptions(); 
      options.fileKey="file"; 
      options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1); 
      options.mimeType="image/jpeg"; 

      var params = new Object(); 
      params.value1 = "test"; 
      params.value2 = "param"; 

      options.params = params; 
      options.chunkedMode = true; 

      var ft = new FileTransfer(); 
      ft.upload(imageURI, "http://131.246.37.167**/upload**", win, fail, options); 

我的servlet是這樣的:

公共類FileUploadHandler延伸的HttpServlet { 私有最終字符串UPLOAD_DIRECTORY = 「C:/上傳」;

@Override 
protected void doPost(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 

    //process only if its multipart content 
    if(ServletFileUpload.isMultipartContent(request)){ 
     try { 
      List<FileItem> multiparts = new ServletFileUpload(
            new DiskFileItemFactory()).parseRequest(request); 

      for(FileItem item : multiparts){ 
       if(!item.isFormField()){ 
        String name = new File(item.getName()).getName(); 
        item.write(new File(UPLOAD_DIRECTORY + File.separator + name)); 
       } 
      } 

      //File uploaded successfully 
      request.setAttribute("message", "File Uploaded Successfully"); 
     } catch (Exception ex) { 
      request.setAttribute("message", "File Upload Failed due to " + ex); 
     }   

    }else{ 
     request.setAttribute("message", 
          "Sorry this Servlet only handles file upload request"); 
    } 

    request.getRequestDispatcher("/result.jsp").forward(request, response); 

} 

}

明鏡的web.xml(Tomcat的蝕)。

.... 

<servlet> 
      <servlet-name>FileUploadHandler</servlet-name> 
      <servlet-class>FileUploadHandler</servlet-class> 
     </servlet> 
     <servlet-mapping> 
      <servlet-name>FileUploadHandler</servlet-name> 
      <url-pattern>**/upload**</url-pattern> 
     </servlet-mapping> 
.... 

請問有沒有人有想法?

Michael

+0

準確的問題在哪裏? – aadel

回答

0

可能是您錯過了添加服務器的端口號以及IP地址。

ft.upload(imageURI, "http://131.246.37.167:8080/**/upload**", win, fail, options); 
相關問題