资源简介
java上传文件 实时获取上传进度 上传RAR,ZIP 并指定解压路劲 上传之后会按照路劲进行解压

代码片段和文件信息
package com.servlet;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
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 com.google.gson.Gson;
import com.zip.DeCompressUtil;
public class UploadFile extends HttpServlet {
private static final long serialVersionUID = 1L;
private String uploadpath = “upload“;// 文件上传地址
private String unpackpath = ““;
private long maxSize = 100 * 1024 * 1024;// 最大文件大小100M
private String limitfile = “ziprar“;// 限制上传类型docdocxxlsxlsxppthtmhtmltxt
private Gson gson = new Gson();
@Override
protected void doGet(HttpServletRequest req HttpServletResponse resp) {
try {
req.setCharacterEncoding(“UTF-8“);
resp.setContentType(“text/html; charset=UTF-8“);
String upid = req.getParameter(“upid“);
UploadState state = (UploadState) req.getSession().getAttribute(“upstate“);
String s=““;
if (upid!=null&&state != null && upid.equals(state.getId())) {
s = gson.toJson(state);
}
System.out.println(state+“ GET:“+upid+“_“+s);
PrintWriter out = resp.getWriter();
out.write(s);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void doPost(HttpServletRequest req HttpServletResponse resp) {
try {
req.setCharacterEncoding(“UTF-8“);
resp.setContentType(“text/html; charset=UTF-8“);
String s=““;
PrintWriter out = resp.getWriter();
boolean ismulti=ServletFileUpload.isMultipartContent(req);
if(ismulti){
HttpSession session=req.getSession();
UploadState us=(UploadState)session.getAttribute(“upstate“);
if (us == null) {
us = new UploadState();
session.setAttribute(“upstate“ us);
}
us.setTargetfile(““);
us.setErrormsg(““);
us.setTotalsize(0);
us.setUploadsize(0);
us.setState(0);// 默认正常状态
long length = req.getContentLength();
us.setTotalsize(length);
if (length > maxSize) {
setStatusMsg(req -1 “文件内容超过最大限制!“);
s = gson.toJson(us);
} else {
processFileUpload(req out);
s = gson.toJson(us);
}
}
out.write(s);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@SuppressWarnings(“unchecked“)
public void processFileUpload(HttpServletRequest r
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-03-14 10:03 MyUpload\
文件 965 2013-03-13 16:32 MyUpload\.classpath
目录 0 2013-03-14 10:03 MyUpload\.myeclipse\
文件 294 2013-03-11 10:40 MyUpload\.myme
文件 1226 2013-03-11 11:36 MyUpload\.project
目录 0 2013-03-14 10:03 MyUpload\.settings\
目录 0 2013-03-14 10:03 MyUpload\ROOT\
目录 0 2013-03-14 10:03 MyUpload\ROOT\me
文件 39 2013-03-11 10:40 MyUpload\ROOT\me
目录 0 2013-03-14 10:03 MyUpload\ROOT\WEB-INF\
目录 0 2013-03-14 10:03 MyUpload\ROOT\WEB-INF\classes\
目录 0 2013-03-14 10:03 MyUpload\ROOT\WEB-INF\classes\com\
目录 0 2013-03-14 10:03 MyUpload\ROOT\WEB-INF\classes\com\servlet\
文件 8067 2013-03-14 10:02 MyUpload\ROOT\WEB-INF\classes\com\servlet\UploadFile.class
文件 1828 2013-03-14 10:02 MyUpload\ROOT\WEB-INF\classes\com\servlet\UploadProgressListener.class
文件 1536 2013-03-14 10:02 MyUpload\ROOT\WEB-INF\classes\com\servlet\UploadState.class
目录 0 2013-03-14 10:03 MyUpload\ROOT\WEB-INF\classes\com\zip\
文件 4891 2013-03-14 10:02 MyUpload\ROOT\WEB-INF\classes\com\zip\AntZip.class
文件 3430 2013-03-14 10:02 MyUpload\ROOT\WEB-INF\classes\com\zip\DeCompressUtil.class
目录 0 2013-03-14 10:03 MyUpload\ROOT\WEB-INF\lib\
文件 1323005 2013-03-12 13:48 MyUpload\ROOT\WEB-INF\lib\ant.jar
文件 57779 2013-03-11 10:44 MyUpload\ROOT\WEB-INF\lib\commons-fileupload-1.2.1.jar
文件 279781 2013-03-11 10:44 MyUpload\ROOT\WEB-INF\lib\commons-httpclient-3.0.1.jar
文件 109043 2013-03-11 10:44 MyUpload\ROOT\WEB-INF\lib\commons-io-1.4.jar
文件 261809 2013-03-11 10:44 MyUpload\ROOT\WEB-INF\lib\commons-lang-2.4.jar
文件 60686 2013-03-11 10:44 MyUpload\ROOT\WEB-INF\lib\commons-logging-1.1.1.jar
文件 189285 2013-03-11 12:02 MyUpload\ROOT\WEB-INF\lib\gson-2.2.2.jar
文件 132819 2013-03-13 16:32 MyUpload\ROOT\WEB-INF\lib\java-unrar-0.3.jar
文件 620 2013-03-11 11:36 MyUpload\ROOT\WEB-INF\web.xm
文件 3204 2013-03-13 13:06 MyUpload\ROOT\index.jsp
目录 0 2013-03-14 10:03 MyUpload\ROOT\js\
............此处省略11个文件信息
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- android带百分比进度条的文件上传,使
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
评论
共有 条评论