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

  

uploadify批量上传的更多相关文章

  1. mvc中使用uploadify批量上传的应用

    网上找了很多资料都没有发现一个好用.可以用的uploadify批量上传的应用,这里通过官方和自己的一些项目需要整理了一个出来. 希望能帮助到需要的人. 效果图:

  2. Yii Uploadify批量上传

    控制器: $reinfo = "fail"; $filename=""; //重要说明: //使用uploadify 上传时,每次这个sessionID都会改变 ...

  3. uploadify+批量上传文件+java

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  4. 完整uploadify批量上传文件插件使用

    1.首先准备uploadify的js文件,网上一搜一大堆 2.上传页面UpFilePage.aspx 关键代码: <html xmlns="http://www.w3.org/1999 ...

  5. 带进度条的文件批量上传插件uploadify

    有时项目中需要一个文件批量上传功能时,个人认为uploadify是快速简便的解决方案. 先上效果图: 一. 下载uploadify 从官网下载uploadify的Flash版本(Flash版本免费,另 ...

  6. 利用uploadify+asp.net 实现大文件批量上传。

    前言 现在网上文件上传组件随便一搜都是一大堆,不过看大家一般都在用uploadify这个来上传文件.由于项目需要,我在来试了一下.因为第一次使用,也遇到了很多问题,特此记录! ------------ ...

  7. uploadify文件批量上传

    uploadify能够时间文件的批量上传,JS文件包下载地址,使用说明可以参考官网文档(http://www.uploadify.com/documentation/) 使用方法如下代码: $(&qu ...

  8. Springmvc+uploadify实现文件带进度条批量上传

    网上看了很多关于文件上传的帖子,众口不一,感觉有点乱,最近正好公司的项目里用到JQuery的uploadify控件做文件上传,所以整理下头绪,搞篇文档出来,供亲们分享. Uploadify控件的主要优 ...

  9. MVC批量上传文件(使用uploadify)

    <script src="JS/jquery-1.8.3.js"></script> <script src="uploadify/jque ...

随机推荐

  1. 50. 树的子结构[subtree structure in tree]

    [本文链接] http://www.cnblogs.com/hellogiser/p/subtree-structure-in-tree.html [题目] 输入两棵二叉树A和B,判断B是不是A的子结 ...

  2. MFC2016.6.8

    1.theApp extern声明之后不可以使用?可以用,只是需要extern之后的类名和类名称写对,不要犯得低级错误.2.怎样取出列表控件中的第某列的值?GetItemText(); CListCt ...

  3. CentOS7 cacti 安装

    首先centos7 web环境的安装这里就不说了.安装cacti,首先得web环境配置好 其次添加两个用户,一个是cacti用于操作mysql的 cactimysql  一个是cacti操作Linux ...

  4. UTF-8编码规则(转)

    from:http://www.cnblogs.com/chenwenbiao/archive/2011/08/11/2134503.html UTF-8是Unicode的一种实现方式,也就是它的字节 ...

  5. MySQL--InnoDB索引原理详解

    1 各种树形结构 本来不打算从二叉搜索树开始,因为网上已经有太多相关文章,但是考虑到清晰的图示对理解问题有很大帮助,也为了保证文章完整性,最后还是加上了这部分. 先看看几种树形结构: 1 搜索二叉树: ...

  6. Xcode8更新约束

    Xcode升级之后就会发现约束设置好,想更新一下约束,看看约束是不是刚刚好,习惯性的去点右下角的更新约束的结果却发现没有更新约束的这一项了,好尴尬. 后来发现原来在Xcode8的约束更新换了一个地方, ...

  7. [转]ubuntu 下无法启动chrome

    这很不爽,google了半天也不知道答案(搜索到要重装chrome,可是我怎么都卸载不干净.....),最终解决方法如下: -------------------------------------- ...

  8. HEAP CORRUPTION DETECTED :after Normal block 错误

    http://blog.csdn.net/zhccl/article/details/7889590

  9. 【Android进阶学习】shape和selector的结合使用(转)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/732310 ...

  10. js获取URL中的参数

    js获取URL中的一些参数的意思 location对象 含有当前URL的信息. 属性 href 整个URL字符串. protocol 含有URL第一部分的字符串,如http: host 包含有URL中 ...