java大文件分块上传断点续传demo


完整的java大文件分块上传支持断点续传,包含jar包,可以直接导入eclipse使用。
资源截图
代码片段和文件信息
package com.airodlcx;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;



//import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.FileUtils;

/**
 * Servlet implementation class UploadVideo
 */
public class CheckChumServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#HttpServlet()
 */
public CheckChumServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
 * @see HttpServlet#doGet(HttpServletRequest request HttpServletResponse
 *      response)
 */
protected void doGet(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {
// TODO Auto-generated method stub
response.getWriter().append(“Served at: “).append(request.getContextPath());
}

/**
 * @see HttpServlet#doPost(HttpServletRequest request HttpServletResponse
 *      response)
 */
protected void doPost(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {

 String fileName = request.getParameter(“fileName“);  
 String fileMd5 = request.getParameter(“fileMd5“);    
        String chunk = request.getParameter(“chunk“);    
        String chunkSize = request.getParameter(“chunkSize“);  
        String guid = request.getParameter(“guid“);

        String path = request.getSession().getServletContext().getRealPath(“/upload“);
        File checkFile = new File(path+“/“+guid+“/“+chunk);  
        
            response.setContentType(“text/html;charset=utf-8“);    
            //检查文件是否存在,且大小是否一致    
            if(checkFile.exists() && checkFile.length()==Integer.parseInt(chunkSize)){    
                //上传过    
                try {  
                    response.getWriter().write(“{“ifExist“:1}“);  
                } catch (IOException e) {  
                    e.printStackTrace();  
                }    
            }else{    
                //没有上传过    
                try {  
                    response.getWriter().write(“{“ifExist“:0}“);  
                } catch (IOException e) {  
                    e.printStackTrace();  
                }    
            }    
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2447  2017-09-28 18:08  upload.classpath

     文件        906  2017-09-28 18:08  upload.project

     文件        567  2017-09-28 18:08  upload.settings.jsdtscope

     文件         57  2017-09-28 18:08  upload.settingsorg.eclipse.core.resources.prefs

     文件        670  2017-09-28 18:08  upload.settingsorg.eclipse.jdt.core.prefs

     文件        470  2017-09-28 18:08  upload.settingsorg.eclipse.wst.common.component

     文件        305  2017-09-28 18:08  upload.settingsorg.eclipse.wst.common.project.facet.core.xml

     文件         49  2017-09-28 18:08  upload.settingsorg.eclipse.wst.jsdt.ui.superType.container

     文件          6  2017-09-28 18:08  upload.settingsorg.eclipse.wst.jsdt.ui.superType.name

     文件       2550  2017-09-28 18:08  uploaduildclassescomairodlcxCheckChumServlet.class

     文件       1862  2017-09-28 18:08  uploaduildclassescomairodlcxChunkInformModel.class

     文件       3782  2017-09-28 18:08  uploaduildclassescomairodlcxCustomMultipartResolver.class

     文件       1379  2017-09-28 18:08  uploaduildclassescomairodlcxFileUploadMessageModel.class

     文件       1584  2017-09-28 18:08  uploaduildclassescomairodlcxFileUploadProgressListener.class

     文件       1425  2017-09-28 18:08  uploaduildclassescomairodlcxUploadController.class

     文件       3084  2017-09-28 18:08  uploaduildclassescomairodlcxUploadSuccessServlet.class

     文件       4780  2017-09-28 18:08  uploaduildclassescomairodlcxUploadVideoServlet.class

     文件       1918  2017-09-28 18:08  uploaduildclasses
esourcesviewSpace.xml

     文件       2901  2017-09-28 18:08  uploadsrccomairodlcxCheckChumServlet.java

     文件       1155  2017-09-28 18:08  uploadsrccomairodlcxChunkInformModel.java

     文件       2386  2017-09-28 18:08  uploadsrccomairodlcxCustomMultipartResolver.java

     文件       1111  2017-09-28 18:08  uploadsrccomairodlcxFileUploadMessageModel.java

     文件        913  2017-09-28 18:08  uploadsrccomairodlcxFileUploadProgressListener.java

     文件        685  2017-09-28 18:08  uploadsrccomairodlcxUploadController.java

     文件       2479  2017-09-28 18:08  uploadsrccomairodlcxUploadSuccessServlet.java

     文件       4264  2017-09-28 18:08  uploadsrccomairodlcxUploadVideoServlet.java

     文件       1918  2017-09-28 18:08  uploadsrc
esourcesviewSpace.xml

     文件       9924  2017-09-28 18:08  uploadWebContentadminartdialogcssui-dialog.css

     文件      10005  2017-09-28 18:08  uploadWebContentadminartdialogdistdialog-min.js

     文件      20999  2017-09-28 18:08  uploadWebContentadminassetsootstrapcssootstrap-responsive.css

............此处省略264个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)