使用uploadify组件上传文件

uploadify是和jQuery结合使用的异步上传组件,主要功能是批量上传文件,使用多线程来上传多个组件。

下载并导入js和样式文件

在正式学习uploadify组件之前,首先就是去官网下载最新的js和css等。

http://www.uploadify.com/download/

解压后如图:上面使用红色标示的文件是需要引入到项目中的。另外别忘了引入jquery.js文件

html页面以及上传条件的编写

<html>
  <head>
    <base href="<%=basePath%>">
    <title>jquery upload</title>
    <link rel="stylesheet" href="uploadfy/uploadify.css" type="text/css"></link>
    <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
    <script type="text/javascript" src="uploadfy/jquery.uploadify.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $("#uploadify").uploadify({
                //指定swf文件
                ‘swf‘: ‘uploadfy/uploadify.swf‘,
                //后台处理的页面
                ‘uploader‘: ‘UploadServlet‘,
                ‘progressData‘ : ‘speed‘,
                //按钮显示的文字
                ‘buttonText‘: ‘上传文件‘,
                //显示的高度和宽度,默认 height 30;width 120
                //‘height‘: 15,
                //‘width‘: 80,
                //上传文件的类型  默认为所有文件    ‘All Files‘  ;  ‘*.*‘
                //在浏览窗口底部的文件类型下拉菜单中显示的文本
                ‘fileTypeDesc‘: ‘Image Files‘,
                //允许上传的文件后缀
                //‘fileTypeExts‘: ‘*.gif; *.jpg; *.png‘,
                ‘cancel‘: ‘uploadfy/uploadify-cancel.png‘,
                //上传文件页面中,你想要用来作为文件队列的元素的id, 默认为false  自动生成,  不带#
                //‘queueID‘: ‘fileQueue‘,
                //选择文件后自动上传
                ‘auto‘: true,
                //设置为true将允许多文件上传
                ‘multi‘: true,
                ‘onUploadComplete‘ : function(file) {
                     alert(‘上传完成‘);
                 },
                ‘onCancel‘ : function(file) {
                     alert(‘取消上传‘);
                 }
            });
        });

    </script>
  </head>

  <body>
    <a id="uploadify">开始上传</a>
    <a href="javascript:$(‘#uploadify‘).uploadify(‘cancel‘)">取消上传</a>
  </body>
</html>

这里有大量的属性,我这里也只是列出了一些常用的,具体的可以参考官网的文档:

http://www.uploadify.com/documentation/

可以看到官网给我们提供了每一个属性的详细用法。在这里我就不一一赘述了。

UploadServlet 实现

String savePath = this.getServletConfig().getServletContext()
                    .getRealPath("");
            savePath = savePath + "\\uploads\\";
            File f1 = new File(savePath);
            if (!f1.exists()) {
                f1.mkdirs();
            }
            DiskFileItemFactory fac = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(fac);
            upload.setHeaderEncoding("utf-8");
            List fileList = null;
            try {
                fileList = upload.parseRequest(req);
            } catch (FileUploadException ex) {
                return;
            }
            Iterator<FileItem> it = fileList.iterator();
            String name = "";
            String extName = "";
            while (it.hasNext()) {
                FileItem item = it.next();
                if (!item.isFormField()) {
                    name = item.getName();
                    long size = item.getSize();
                    String type = item.getContentType();
                    System.out.println(size + " " + type);
                    if (name == null || name.trim().equals("")) {
                        continue;
                    }
                    //扩展名格式:
                    if (name.lastIndexOf(".") >= 0) {
                        extName = name.substring(name.lastIndexOf("."));
                    }
                    File file = null;
                    do {
                        //生成文件名:
                        name = System.currentTimeMillis()+"";
                        file = new File(savePath + name + extName);
                    } while (file.exists());
                    File saveFile = new File(savePath + name + extName);
                    try {
                        item.write(saveFile);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
            resp.getWriter().print(name + extName);

注意需要添加一下jar文件:

commons-fileupload-1.3.jar

commons-io-1.2.jar

先看下效果:

源码下载

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-04 02:05:15

使用uploadify组件上传文件的相关文章

使用commons-fileUpload组件上传文件

在近期的一个项目中有用到commons-fileUpload组件进行实现文件上传的功能(由于没用到框架),在使用的过程中有遇到一些问题,经过自己的琢磨也算顺利地将其解决了,在这里做个记录. 一.commons-fileUpload文件上传组件简介 commons-fileUpload上传组件是Apache的一个开源项目,可以到http://commons.apache.org/proper/commons-fileupload/下载最新版本(该组件需要commons-io包的支持).该组件使用方

asp.net中使用uploadify插件上传文件, session中的值丢失的问题

工作中遇到使用uploadify插件上传文件后,后台代码中的session[XXX]值为null的问题,反复跟踪,发现不是值丢失,而是sessionID发生了变化,而引起SessionID发生变化的原因就是因为使用了uplodify插件 解决方法: <script type="text/javascript"> var auth = "<% = Request.Cookies[FormsAuthentication.FormsCookieName]==nul

django Form组件 上传文件

上传文件 注意:FORM表单提交文件要有一个参数enctype="multipart/form-data" 普通上传: urls: url(r'^f1/',views.f1), url(r'^f2/',views.f2), views: def f1(request): if request.method == "GET": return render(request,'f1.html') else: import os #导入os模块 #request.get /

uploadify前台上传文件,java后台处理的例子

1.先创建一个简单的web项目upload (如图1-1) 2.插件的准备 (1).去uploadify的官网下载一个uploadify插件,然后解压新建个js文件夹放进去(这个不强求,只要路径对了就可以) (2).准备所需要的后端处理上传文件的jar包:commons-fileupload-1.2.1.jar 3.新建一个JSP即index.jsp +servlet即UploadServlet.java 图1-1 4.花几分钟对这些简单的配置完成后就可以看看index.jsp与UoloadSe

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

1.首先准备uploadify的js文件,网上一搜一大堆 2.上传页面UpFilePage.aspx 关键代码: <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <tit

uploadify+批量上传文件+java

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":&

java FileUpload 组件上传文件

Commons FileUpload Apache提供的一个组件,可以很方便的让我们处理客户端上传的文件, 下载地址 http://commons.apache.org/proper/commons-fileupload/ 下载commons-fileupload.jar,还有其依赖包 commons-io.jar一同下载好,导入工程 有点奇葩的是,在tomcat下已经把這个组建集成了,但是不能正常使用,其源码基本上是一样的. 正确的包名应该是這个:org.apache.commons.file

swfupload组件上传文件

前段时间做文件上传用的是H5的一个插件,由于浏览器的兼容性不好,所以又换了一个Flash版本的上传文件插件.不过,由于后续浏览不再支持Flash(略囧),所以,暂时还没有找到能够完美兼容浏览器的上传文件插件.各位网友如果有好的插件,请推荐下. View代码: 1 <html> 2 <head> 3 <meta name="viewport" content="width=device-width" /> 4 <title&g

JSP页面/Apache FileUpload组件上传文件的同时,传递其他参数的方法

Spring3.0+Apache Tomcatv7.0+JDK1.7.0_u45+J2EE1.4验证通过. 需求:使用JSP页面上传文件时,同时需要传递相关参数. 1.  需要将form设置为enctype="multipart/form-data"method="post"参数: 2.  由于此时URL参数不能通过request.getParameter()获得,所以为了让@RequestMapping中设置的params="command=upload