jquery使用uploadify插件实现多文件的上传(java版)

源码地址:https://git.oschina.net/zhengweishan/UploadDemo_Java

1、jquery uploadify 下载:http://www.uploadify.com/

2、安装,由于下载下来的例子是php版本的,所以我只留下了主要的几个文件。如图:

3、配置项说明,请自行看文档。文档地址:http://www.uploadify.com/documentation/

4、使用

前台页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link href="plugin/uploadify/uploadify.css" rel="stylesheet" type="text/css" />
<script src="plugin/uploadify/jquery-1.11.3.js" type="text/javascript"></script>
<script src="plugin/uploadify/jquery.uploadify.js" type="text/javascript"></script>
<script type="text/javascript">  
$(document).ready(function() {  
    $("#uploadify").uploadify({  
        ‘swf‘       : ‘plugin/uploadify/uploadify.swf‘,  
        ‘uploader‘  : ‘UploadServlet‘,    
        ‘folder‘         : ‘/upload‘,  
        ‘queueID‘        : ‘fileQueue‘,
        ‘cancelImg‘      : ‘plugin/uploadify/uploadify-cancel.png‘,
        ‘buttonText‘     : ‘上传文件‘,
        ‘auto‘           : false, //设置true 自动上传 设置false还需要手动点击按钮 
        ‘multi‘          : true,  
        ‘wmode‘          : ‘transparent‘,  
        ‘simUploadLimit‘ : 999,  
        ‘fileTypeExts‘        : ‘*.*‘,  
        ‘fileTypeDesc‘       : ‘All Files‘
    });  
});  
</script>  
</head>
<body>
<div>
        <%--用来作为文件队列区域--%>
        <div id="fileQueue" style="position:absolute; right:50px; bottom:100px;z-index:999">
        </div>
        <input type="file" name="uploadify" id="uploadify"/>
        <p>
            <a href="javascript:$(‘#uploadify‘).uploadify(‘upload‘,‘*‘)">上传</a>| 
            <a href="javascript:$(‘#uploadify‘).uploadify(‘cancel‘,‘*‘)">取消上传</a>
        </p>
        
    </div>
    
</body>
</html>

后台:

这里需要用到commons-fileupload组件,自行下载(提供的源码中有哦~)。

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.commons.fileupload.util.Streams;
/**
 * Servlet implementation class UploadServlet
 */
@WebServlet("/UploadServlet")
public class UploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
       
    /**
     * @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
doPost(request,response);
}
/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//文件存放的目录  
        File tempDirPath =new File(request.getSession().getServletContext().getRealPath("/")+"\\upload\\");  
        if(!tempDirPath.exists()){  
            tempDirPath.mkdirs();  
        }  
          
        //创建磁盘文件工厂  
        DiskFileItemFactory fac = new DiskFileItemFactory();      
        //创建servlet文件上传组件  
        ServletFileUpload upload = new ServletFileUpload(fac);      
        //文件列表  
        List<FileItem> fileList = null;      
        //解析request从而得到前台传过来的文件  
        try {      
            fileList = upload.parseRequest(request);      
        } catch (FileUploadException ex) {      
            ex.printStackTrace();      
            return;      
        }   
        //保存后的文件名  
        String imageName = null;  
        //便利从前台得到的文件列表  
        Iterator<FileItem> it = fileList.iterator();     
        while(it.hasNext()){      
            FileItem item =  it.next(); 
            //如果不是普通表单域,当做文件域来处理  
            if(!item.isFormField()){  
            imageName = new Date().getTime()+Math.random()*10000+item.getName();  
                BufferedInputStream in = new BufferedInputStream(item.getInputStream());     
                BufferedOutputStream out = new BufferedOutputStream(        
                        new FileOutputStream(new File(tempDirPath+"\\"+imageName)));  
                Streams.copy(in, out, true);  
                  
            }  
        }  
        //  
        PrintWriter out = null;  
        try {  
            out = encodehead(request, response);  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
        //这个地方不能少,否则前台得不到上传的结果  
        out.write("1");
        out.close();   
}
/** 
     * Ajax辅助方法 获取 PrintWriter 
     * @return 
     * @throws IOException  
     * @throws IOException  
     * request.setCharacterEncoding("utf-8"); 
        response.setContentType("text/html; charset=utf-8"); 
     */  
private PrintWriter encodehead(HttpServletRequest request,HttpServletResponse response) throws IOException{  
        request.setCharacterEncoding("utf-8");  
        response.setContentType("text/html; charset=utf-8");  
        return response.getWriter();  
    }  
}

5、最终效果图 有点类似百度上传文件的页面效果 没有百度做的好看哈~ 请勿喷

时间: 2025-01-04 22:20:21

jquery使用uploadify插件实现多文件的上传(java版)的相关文章

[推荐]两款Flash上传插件(1)–CFUpdate文件批量上传组件

搞开发的同学都知道,网上可搜到的可用的Flash图片上传的组件少之又少,可定制界面,不需要安装组件,且可免费用于任何商业系统的,更是凤毛麟角,如果你和我一样,迫切需要一款这样的一款组件的话,不妨试试CFUpdate吧. 以下是我修改的一个Demo效果,你也可以猛击此处查看在线Demo. CFUpdate可选择多个图片上传,显示上传速度.进度条.文件名称等,可拖动排序文件顺序,CFUpdate使用的是HTTP协议,所以客户 端,服务端都不需要安装任何组件.因为是模仿FORM表单提交,所以支持ASP

2015-6-2 文件的上传java

文件上传或者点击确定后 文件接收到请求和请求一块过来的参数 1 public class UplocadAo extends BaseAo implements ModelDriven<QuestionVo>{ 2 3 QuestionVo questionVo = new QuestionVo(); 4 public void uploadFile(){ 5 UploadFileBo ufb = new UploadFileBo(); 6 String resultstr = "{

django文件批量上传-简写版

模板中创建表单 <form method='post' enctype='multipart/form-data' action='/upload/'> <input type='file' name='upload_img'/> <input type='file' name='upload_img'/> <input type='submit' value='submit'> </form> 在urls中到处一个upload地址 url(r'

JAVAWEB之文件的上传下载

文件上传下载 文件上传: 本篇文章使用的文件上传的例子使用的都是原生技术,servelt+jdbc+fileupload插件,这也是笔者的习惯,当接触到某些从未接触过的东西时,总是喜欢用最原始的东西将他们表达出来.下面是具体的步骤,大家可以跟着我一步一步的用apache的fileupload插件来完成文件的上传下载. 1.创建一个web工程,我们这里取名为fileupload 2.导入相关jar包,,数据源使用的是apache-c3p0数据源,以及上传下载插件包,goson库,以及mysql驱动

jquery的uploadify插件多文件上传配置参数详解

最近做了个多文件上传,需要限制上传文件类型的例子.以前没做过找了一些资料,下次有用.同时也给大家做参考. uploader: uploadify.swf 文件的相对路径,该swf文件是一个带有文字BROWSE的按钮,点击后淡出打开文件对话框,默认值:uploadify.swf. script: 后台处理程序的相对路径 .默认值:uploadify.php checkScript:用来判断上传选择的文 件在服务器是否存在的后台处理程序的相对路径 fileDataName:设置一个名字,在服务器处理

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

有时项目中需要一个文件批量上传功能时,个人认为uploadify是快速简便的解决方案. 先上效果图: 一. 下载uploadify 从官网下载uploadify的Flash版本(Flash版本免费,另一版本HTML5版本需要付费) 下载地址: http://www.uploadify.com/download/ 下载后直接把文件解压,然后放在项目中 二. 在项目中使用 在页面中引入: <!--引入Jquery--> <script src="js/jquery-1.11.3.m

赞!带进度条的 jQuery 文件拖放上传插件

jQuery File Uploader 是一个 jQuery 文件拖放上传插件,包括 Ajax 上传和进度条效果.作者编写这个插件的想法是要保持它非常简单,不像其他的插件,很多的标记,并提供一些 Hack 的方式使之兼容那些古老的浏览器.jQuery File Uploader 重点是现代浏览器,而且还提供了一个方法让你知道什时候插件不支持使用. 立即下载      在线演示 jQuery File Uploader 是一个 jQuery 文件拖放上传插件,包括 Ajax 上传和进度条效果.作

使用jQuery.FileUpload插件和服Backload组件自定义上传文件夹

在零配置情况下,文件的上传文件夹是根目录下的Files文件夹,如何自定义文件的上传文件夹呢? □ 在web.config中配置 1: <configuration> 2: <configSections> 3: ... 4: <section name="backload" type="Backload.Configuration.BackloadSection, Backload, Version=1.9.3.1, Culture=neutra

jquery文件批量上传控件Uploadify3.2(java springMVC)

人比較懒  有用为主 不怎么排版了 先放上Uploadify的官网链接:http://www.uploadify.com/  -->里面能够看到PHP的演示样例,属性说明,以及控件下载地址.分flash版(免费)和html5版(收费). 官网上能够看到效果演示. 另外在网上找到了一份Uploadify3.2的中文API文档.能够在我上传的资源里面下载. 以下就是一个基于springMVC的文件上传演示样例,看起来可能比文档更直观一些··· 1.下载插件放到项目中 2.在jsp页面中引入下面JS和