Java 如何恢复文件上载?

Java 如何恢复文件上载?,java,spring,file-upload,plupload,chunks,Java,Spring,File Upload,Plupload,Chunks,我正在JavaScript库中使用plupload。 如果在实现文件上载时出现故障,我希望恢复文件上载 我被告知要使用HTTP区块传输。 但我不知道,我怎么能用它 请显示以下服务器端代码 private static final int BUFFER_SIZE = 100 * 1024; try { Integer chunk = 0, chunks = 0; if(null != request.getParameter("chunk") &am

我正在JavaScript库中使用plupload。 如果在实现文件上载时出现故障,我希望恢复文件上载

我被告知要使用HTTP区块传输。 但我不知道,我怎么能用它

请显示以下服务器端代码

 private static final int BUFFER_SIZE = 100 * 1024;
     try {
         Integer chunk = 0, chunks = 0;
         if(null != request.getParameter("chunk") && !request.getParameter("chunk").equals("")){
             chunk = Integer.valueOf(request.getParameter("chunk"));
         }
         if(null != request.getParameter("chunks") && !request.getParameter("chunks").equals("")){
             chunks = Integer.valueOf(request.getParameter("chunks"));
         }
         logger.info("chunk:[" + chunk + "] chunks:[" + chunks + "]");
...
         appendFile(file.getInputStream(), destFile, response);

         if (chunk == chunks - 1) {
             logger.info("upload success !");
         }else {
             logger.info("left ["+(chunks-1-chunk)+"] chunks...");
         }

     } catch (IOException e) {
         logger.error(e.getMessage());
     }
 }

 public void appendFile(InputStream in, File destFile, HttpServletResponse response) {

     OutputStream out = null;
     try {
         if (destFile.exists()) {
             out = new BufferedOutputStream(new FileOutputStream(destFile, true), BUFFER_SIZE);
         } else {
             out = new BufferedOutputStream(new FileOutputStream(destFile),BUFFER_SIZE);
         }
         in = new BufferedInputStream(in, BUFFER_SIZE);

         int len = 0;
         byte[] buffer = new byte[BUFFER_SIZE];
         while ((len = in.read(buffer)) > 0) {
             out.write(buffer, 0, len);
         }
     } catch (Exception e) {
         logger.error(e.getMessage());
     }
     finally {
         try {
             if (null != in) {
                 in.close();
             }
             if(null != out){
                 out.close();
             }
         } catch (IOException e) {
             e.getMessage();
             logger.error(e.getMessage());
         }
     }
 }