代码:
private void addProject(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
final long MAX_SIZE = 2048 * 1024 * 1024;// 设置上传文件最大值为2G,可以改为更大
// 表单含有文件要提交
String path = request.getContextPath();
DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
// 构建一个文件上传类
ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory);
// servletFileUpload.setFileSizeMax(3 * 1024 * 1024);
servletFileUpload.setSizeMax(MAX_SIZE);// 上传文件总大小
List<FileItem> list = null;
List<Object> params = new ArrayList<Object>();
String startTime = "";
String endTime = "";
String imgPaths = "";
try {
// 解析request的请求
list = servletFileUpload.parseRequest(request);
// 取出所有表单的值:判断非文本字段和文本字段
for (FileItem fileItem : list) {
if (fileItem.isFormField()) {
if (fileItem.getFieldName().equals("personName")) {
params.add(fileItem.getString("utf-8"));
System.out.println(fileItem.getString("utf-8"));
}
if (fileItem.getFieldName().equals("personAge")) {
params.add(fileItem.getString("utf-8"));
System.out.println(fileItem.getString("utf-8"));
}
if (fileItem.getFieldName().equals("personPlace")) {
params.add(fileItem.getString("utf-8"));
System.out.println(fileItem.getString("utf-8"));
}
if (fileItem.getFieldName().equals("personEntrance")) {
params.add(fileItem.getString("utf-8"));
System.out.println(fileItem.getString("utf-8"));
}
if (fileItem.getFieldName().equals("personAddress")) {
params.add(fileItem.getString("utf-8"));
System.out.println(fileItem.getString("utf-8"));
}
if (fileItem.getFieldName().equals("personCard")) {
params.add(fileItem.getString("utf-8"));
System.out.println(fileItem.getString("utf-8"));
}
} else {
try {
String image = fileItem.getName();
String imageload = PingYinUtil.getPingYin(image);
// params.add(imageload);
String upload_path = request.getRealPath("/upload");
System.out.println("--->>" + upload_path);
String imgPath = Consts.imgPath;
File real_path = new File(imgPath + "/" + imageload);
fileItem.write(real_path);
imgPaths = imgPaths + imageload + ",";
// 把数据插入到数据库中
} catch (Exception e) {
e.printStackTrace();
}
}
}
params.add(imgPaths.substring(0, imgPaths.length() - 1));
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");// 设置日期格式
String timeInfor = df.format(new Date());
try {
String codefor = encode(timeInfor, "", Consts.imgPath, true);
System.out.println(codefor);
params.add(codefor);
params.add(timeInfor);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
boolean flag = softDao.addProject(params);
System.out.println(flag);
if (flag) {
listMessageProject(request, response);
} else {
System.out.println("flag:no");
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}