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>");
		}
	}

}

  

原文地址:https://www.cnblogs.com/suiblog/p/3645323.html