uploadify批量上传
js:
$("#uploadify").uploadify({ 'uploader':'uploadServlet', 'swf':'image/uploadify.swf', 'cancelImg' : 'image/uploadify-cancel.png', 'folder' : 'upload/full', //您想将文件保存到的路径 'queueID' : 'fileQueue',//与下面的id对应 'queueSizeLimit' : 5, 'fileSizeLimit' : '2MB', 'fileTypeDesc' : 'jpg文件或png文件', 'fileTypeExts' : '*.jpg;*.png', //控制可上传文件的扩展名,启用本项时需同时声明fileDesc 'auto' : false, 'multi' : true, 'simUploadLimit' : 2, 'buttonText' : '选择文件', 'onUploadSuccess':function(file,data,response){ console.log(data); $("#picList").append(data); } });
后台servlet:
package com.lab.util; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import java.util.Iterator; import java.util.List; import javax.annotation.Resource; import javax.servlet.ServletContext; 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 org.apache.log4j.Logger; import com.lab.po.ClientPO; import com.lab.po.IbeaconPO; import com.lab.po.PicturePO; import com.lab.service.ClientService; import com.lab.service.PictureService; import com.lab.service.impl.PictureServiceImpl; /** * Servlet implementation class uploadServlet */ public class uploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; private static Logger logger = Logger.getLogger(uploadServlet.class); /** * @see HttpServlet#HttpServlet() */ public uploadServlet() { 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 } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload sfUpload = new ServletFileUpload(factory); sfUpload.setFileSizeMax(5000*1024); boolean flag = false; String fileName = null; ServletContext svct = getServletContext(); String path=svct.getRealPath("upload"); System.out.println(path); try { List<FileItem> list = sfUpload.parseRequest(request); Iterator<FileItem> items = list.iterator(); while(items.hasNext()){ FileItem item = items.next(); if(!item.isFormField()){ fileName = item.getName(); System.out.println(fileName); fileName = System.currentTimeMillis()+fileName.substring(fileName.lastIndexOf(".")); String uploadDir = path+"\\full\\"+fileName; File file = new File(path); if(!file.exists()){ file.mkdir(); } File ffile = new File(uploadDir); if(!ffile.exists()){ item.write(ffile); flag=true; } } } } catch (FileUploadException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } if(flag){ String fullPath=path+"\\full\\"+fileName; String thumbPath=path+"\\thumb\\"+fileName; PictureUtil.toThumbPic(fullPath, thumbPath); PicturePO picturePO = new PicturePO(); picturePO.setFull_path("upload\\full\\"+fileName); picturePO.setThumb_path("upload\\thumb\\"+fileName); HttpSession session = request.getSession(false); if(session!=null){ picturePO.setIbeaconPO((IbeaconPO)session.getAttribute("ibeacon")); } //调用service方法时,只能通过getbean的方法得到service实例,普通的@resource不能用。 PictureService pictureService=(PictureService) AppContext.getInstance().getAbstractApplicationContext().getBean("pictureService"); //PictureService pictureService = new PictureServiceImpl(); System.out.println(picturePO.getId()); String resultString=null; if(pictureService.addPicture(picturePO)){ if(session.getAttribute("client")!=null){ ClientPO clientPO = (ClientPO) session.getAttribute("client"); clientPO.setUpdateDate(new Date()); ClientService clientService = (ClientService) AppContext.getInstance().getAbstractApplicationContext().getBean("clientService"); clientService.updateClient(clientPO); } logger.info("上传图片成功!"); System.out.println(picturePO.getId()); resultString = "<li><div class='myCheckbox'><input type='checkbox' name='picCheck' value='"+picturePO.getId()+"' /></div><img onclick='showFullPic("+picturePO.getId()+")' src='"+picturePO.getThumb_path()+"' class='img-thumbnail'><br/><span><button type='button' class='btn btn-default btn-sm' onclick='deletePic("+picturePO.getId()+",this)'>删除</button></span></li>"; }else{ resultString = "false"; } response.getWriter().print(resultString); //out.println("<script>parent.callBack('"+fileName+"')</script>"); }else{ //out.println("<script>parent.callBack('upload failed')</script>"); } } }