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>");
}
} }
uploadify批量上传的更多相关文章
- mvc中使用uploadify批量上传的应用
网上找了很多资料都没有发现一个好用.可以用的uploadify批量上传的应用,这里通过官方和自己的一些项目需要整理了一个出来. 希望能帮助到需要的人. 效果图:
- Yii Uploadify批量上传
控制器: $reinfo = "fail"; $filename=""; //重要说明: //使用uploadify 上传时,每次这个sessionID都会改变 ...
- uploadify+批量上传文件+java
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 完整uploadify批量上传文件插件使用
1.首先准备uploadify的js文件,网上一搜一大堆 2.上传页面UpFilePage.aspx 关键代码: <html xmlns="http://www.w3.org/1999 ...
- 带进度条的文件批量上传插件uploadify
有时项目中需要一个文件批量上传功能时,个人认为uploadify是快速简便的解决方案. 先上效果图: 一. 下载uploadify 从官网下载uploadify的Flash版本(Flash版本免费,另 ...
- 利用uploadify+asp.net 实现大文件批量上传。
前言 现在网上文件上传组件随便一搜都是一大堆,不过看大家一般都在用uploadify这个来上传文件.由于项目需要,我在来试了一下.因为第一次使用,也遇到了很多问题,特此记录! ------------ ...
- uploadify文件批量上传
uploadify能够时间文件的批量上传,JS文件包下载地址,使用说明可以参考官网文档(http://www.uploadify.com/documentation/) 使用方法如下代码: $(&qu ...
- Springmvc+uploadify实现文件带进度条批量上传
网上看了很多关于文件上传的帖子,众口不一,感觉有点乱,最近正好公司的项目里用到JQuery的uploadify控件做文件上传,所以整理下头绪,搞篇文档出来,供亲们分享. Uploadify控件的主要优 ...
- MVC批量上传文件(使用uploadify)
<script src="JS/jquery-1.8.3.js"></script> <script src="uploadify/jque ...
随机推荐
- ACM/ICPC 之 靠墙走-DFS+BFS(POJ3083)
//POJ3083 //DFS求靠左墙(右墙)走的路径长+BFS求最短路 //Time:0Ms Memory:716K #include<iostream> #include<cst ...
- 考前预习(Ubuntu配备)
这几天考前预习,趁现在不想预习,写点之前就想写的东西吧. 贴一下个人认为有用的,在Ubuntu装机后的一些小事.不过挺杂的,主要是拿来给以后的自己看,以及让现在无聊的我有点事做. 首先,Ubuntu官 ...
- ASCII码、Unicode码 转中文
ASCII码.Unicode码 转中文 在最近工作中遇到了一些汉字编码转换的处理,可以通过正则表达式及转换字符来实现转成中文 Unicode转换示例 通常为10位编码, 通过digit参数传入 pri ...
- ->code vs 1474 十进制转m进制
1474 十进制转m进制 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 将十进制数n转换成m进 ...
- 简单的php socket 实例
server: <?php set_time_limit(0); $ip = '127.0.0.1'; $port = 8888; // 1. 创建 if( ($sock = socket_cr ...
- CentOS系统常用基本命令&Centos 7 命令变化
一:查看cpu信息more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo ...
- kaggle入门2——改进特征
1:改进我们的特征 在上一个任务中,我们完成了我们在Kaggle上一个机器学习比赛的第一个比赛提交泰坦尼克号:灾难中的机器学习. 可是我们提交的分数并不是非常高.有三种主要的方法可以让我们能够提高他: ...
- tif文件导入postgresql
raster2pgsql -I -F -N -999 文件名 数据库名 | psql -U postgres -d postgres
- ***PHP 数组排序 +php二维数组排序方法(PHP比较器)
PHP - 一维数组的排序函数 在本节中,我们将学习如下 PHP 数组排序函数: sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组 ...
- 用 Blend 给Windows Phone 应用创建 示例数据
前言 创建 示例数据(Sample Data) 是提高程序开发效率的一个很有效方法,有了它,我们调UI的时候就不必每次都运行应用,然后在手机上观看页面效果了,配合 “AlignmentGrid.pn ...