首页>代码>webuploader实现文件断点分片并发上传实例>/webuploader/src/com/cn/upload/UploadVideo.java
package com.cn.upload;

import java.io.File;
import java.io.IOException;
import java.util.List;

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

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;

/**
 * 文件上传
 * @author Administrator
 *
 */
@SuppressWarnings("serial")
public class UploadVideo extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		super.doGet(req, resp);
		doPost(req, resp);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		DiskFileItemFactory factory = new DiskFileItemFactory();
		ServletFileUpload sfu = new ServletFileUpload(factory);
		sfu.setHeaderEncoding("utf-8");

		String savePath = this.getServletConfig().getServletContext()
				.getRealPath("");
		String folad = "uploads";
		savePath = savePath + "\\" + folad + "\\";

		String fileMd5 = null;
		String chunk = null;

		try {
			List<FileItem> items = sfu.parseRequest(request);

			for (FileItem item : items) {
				if (item.isFormField()) {
					String fieldName = item.getFieldName();
					if (fieldName.equals("fileMd5")) {
						fileMd5 = item.getString("utf-8");
					}
					if (fieldName.equals("chunk")) {
						chunk = item.getString("utf-8");
					}
				} else {
					File file = new File(savePath + "/" + fileMd5);
					if (!file.exists()) {
						file.mkdir();
					}
					File chunkFile = new File(savePath + "/" + fileMd5 + "/"
							+ chunk);
					FileUtils.copyInputStreamToFile(item.getInputStream(),
							chunkFile);

				}
			}

		} catch (FileUploadException e) {
			e.printStackTrace();
		}

	}
}
最近下载更多
sl0018  LV13 2023年2月7日
su12345su  LV8 2022年5月8日
李海洋  LV12 2021年11月29日
bnna8356586  LV1 2021年8月22日
tomhat  LV3 2021年4月20日
sdfssf  LV1 2021年3月23日
massacre  LV1 2020年9月9日
bhf1030  LV2 2020年6月9日
wxxazm  LV3 2020年6月8日
momomo2  LV9 2020年4月13日
最近浏览更多
sl0018  LV13 2023年2月7日
su12345su  LV8 2022年5月8日
taoshen95  LV15 2022年4月13日
李海洋  LV12 2021年11月29日
azhan2021 2021年8月23日
暂无贡献等级
bnna8356586  LV1 2021年8月22日
里更debug  LV10 2021年8月9日
newhaijun  LV15 2021年7月2日
最大码LV1789554  LV1 2021年6月24日
InventorLee 2021年5月20日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友