2014-09-22 62 views
0

我正在寫一個簡單的java servlet,以便將文件從任何客戶端上傳到服務器位置。這是我的servlet doPost方法:使用java將文件上傳到服務器

@Override 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     //processRequest(request, response); 
     response.setContentType("text/html"); 
     boolean isMultiPart = ServletFileUpload.isMultipartContent(request); 
     if(isMultiPart){ 
      ServletFileUpload upload = new ServletFileUpload(); 
      try{ 
       FileItemIterator itr = upload.getItemIterator(request); 
       while(itr.hasNext()){ 
        FileItemStream item = itr.next(); 
        if(item.isFormField()){ 
         String fieldName = item.getFieldName(); 
         InputStream is = item.openStream(); 
         byte[] b = new byte[is.available()]; 
         is.read(b); 
         String value = new String(b); 
         response.getWriter().println(fieldName+":"+value+"</br>"); 

        }else{ 
         //String path = getServletContext().getRealPath("/"); 
         String path = <server path>; 
         if(FileUpload.processFile(path, item)){ 
          response.getWriter().println("file uploaded successfully</br>"); 
         }else{ 
          response.getWriter().println("file uploading failed</br>"); 
         } 
        } 
       } 
      }catch(FileUploadException fue){ 
       fue.printStackTrace(); 
      } 
     } 
    } 

我現在有一個問題,當我上傳非常大的文件時。 Incase存在網絡錯誤,我需要重新將所有文件重新發送到服務器,我想準備一個解決方案,用戶可以在出現網絡錯誤時從停止點上載文件。 有人可以幫助我嗎?提前致謝。

任何人都可以幫助我嗎?

+0

你可以請把你得到的錯誤? – AndreDuarte 2014-09-22 13:32:58

+0

我沒有收到任何錯誤。上傳只是從停止點開始。它必須從頭開始重新啓動。 – cbandroid 2014-09-22 13:37:43

+0

任何人都可以請幫助我嗎?我到處尋找解決方案,但似乎無法找到任何東西。提前致謝。 – cbandroid 2014-09-23 08:46:25

回答

1
+0

是否有相同的開源可能性? – cbandroid 2014-09-23 11:25:06

+0

手動執行然後...參考http://stackoverflow.com/questions/18145334/not-able-to-split-a-file-and-send-and-then-join-in-server獲取邏輯並查看最後的評論以查看他在問題代碼中的錯誤。 – Avik 2014-09-23 11:56:37

+0

上面的鏈接庫是開源的 – 2014-09-23 14:46:22

相關問題