uploadify的java应用

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

下载地址:http://www.uploadify.com/

这几天查看插件,发现uploadify插件做不错,查了一些资料,总结笔记一下。

项目文件截图:

lib如图;

web.xml代码:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>UploadifyJava</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>UpFileServlet</display-name>
    <servlet-name>UpFileServlet</servlet-name>
    <servlet-class>com.horizon.action.UpFileServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>UpFileServlet</servlet-name>
    <url-pattern>/UpFileServlet</url-pattern>
  </servlet-mapping>
</web-app>

UpFileServlet.java代码:

package com.horizon.action;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.UUID;

import javax.servlet.ServletException;
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;

/**
 * Servlet implementation class UpFileServlet
 */
public class UpFileServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public UpFileServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    @SuppressWarnings({ "unchecked", "rawtypes" })
    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        // 获得参数
        String timestamp = request.getParameter("timestamp");
        String token = request.getParameter("token");
        System.out.println(timestamp);
        System.out.println(token);
        // 获得文件
        String savePath = this.getServletConfig().getServletContext()
                .getRealPath("");
        savePath = savePath + "/uploads/";
        File f1 = new File(savePath);

        System.out.println(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(request);
        } catch (FileUploadException ex) {
            System.out.println(ex.getMessage());
            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 = UUID.randomUUID().toString();
                    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();
                }
            }
        }
        response.getWriter().print(name + extName);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

index.jsp代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>UploadiFive Test</title>
<script src="js/jquery-1.8.0.min.js" type="text/javascript"></script>
<script src="js/uploadify/jquery.uploadify.min.js"
    type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="js/uploadify/uploadify.css">
<style type="text/css">
body {
    font: 13px Arial, Helvetica, Sans-serif;
}
</style>
</head>
<body>
    <h1>Uploadify Demo for java</h1>
    <form>
        <div id="queue"></div>
        <input id="file_upload" name="file_upload" type="file" multiple="true" />
        <a href="javascript:$(‘#file_upload‘).uploadify(‘upload‘)">开始上传</a>&nbsp;
        <a href="javascript:$(‘#file_upload‘).uploadify(‘cancel‘)">取消所有上传</a>
        </p>
    </form>
    <script type="text/javascript">
        $(function() {
            var timestamp = new Date().getTime();
            $(‘#file_upload‘).uploadify({
                ‘formData‘ : {
                    ‘timestamp‘ : timestamp,
                    ‘token‘ : ‘unique_salt‘ + timestamp
                },// 设置想后台传递的参数 如果设置该参数,那么method应该设置为get,才能得到参数
                ‘swf‘ : ‘js/uploadify/uploadify.swf‘,// 指定swf文件
                ‘uploader‘ : ‘UpFileServlet‘,// 后台处理的页面
                ‘cancelImg‘ : ‘js/uploadify/uploadify-cancel.png‘,// 取消按钮图片路径
                "queueID" : ‘queue‘,// 上传文件页面中,你想要用来作为文件队列的元素的id, 默认为false  自动生成,  不带#
                ‘method‘ : ‘get‘,// 设置上传格式
                ‘auto‘ : false,// 当选中文件后是否自动提交
                ‘multi‘ : true,// 是否支持多个文件上传
                ‘simUploadLimit‘ : 2,
                ‘buttonText‘ : ‘选择文件‘,// 按钮显示的文字
                ‘onUploadSuccess‘: function (file, data, response) {// 上传成功后执行
                    $(‘#‘ + file.id).find(‘.data‘).html(‘ 上传完毕‘);
                 }
            });
        });
    </script>
</body>
</html>

期间在上传参数时,发现无法传送,经过查CSDN的资料,可以设置method参数为get,来解决问题。

针对,上传是complete转为中文,jquery.uploadify.js源码下图:

得出结论。

参考网址:http://www.cnblogs.com/babycool/archive/2012/08/04/2623137.html

另外还有html5版本,需要的话可以查看官网

时间: 2024-10-07 05:25:12

uploadify的java应用的相关文章

Struts2 + uploadify 多文件上传完整的例子!

首先,我这里使用的是  Jquery  Uploadify3.2版本号  导入相关的CSS  JS    <link rel="stylesheet" type="text/css" href="<%=basePath%>css/uploadify/uploadify.css"> <script src="<%=basePath%>js/jquery.min.js"></s

Struts2 + uploadify 多文件上传完整实例!

首先我这里使用的是  Jquery  Uploadify3.2的版本  导入相关的CSS  JS    <link rel="stylesheet" type="text/css" href="<%=basePath%>css/uploadify/uploadify.css"> <script src="<%=basePath%>js/jquery.min.js"></sc

uploadify在火狐下上传不了的解决方式,java版(Spring+SpringMVC+MyBatis)具体解决方式

?? 因为技术选型的原因,在一个产品中.我选择了uploadify,选择它的原因是它有完好的技术文档说明(http://www.uploadify.com/documentation/),唯一不足的是官方文档上的样例是用php写的. 而对与我们这些使用Java语言的小生们而言,在遇到问题后发现找到一个适合自己的样例非常不好找.特别是当遇到浏览器兼容问题的时候,找了好久终于发现依照网上的方式进行编写了,终于还是会出现莫名其妙的问题,而继续查找资料的时候,发现解说的并不具体. 以下我就把我遇到的这些

java uploadify上传图片并预览

前一篇文章可以看到对jquery uploadify的属性的讲解,这里给出具体的java代码实现,代码基于servlet,实现了上传图片并预览的效果,不多说,上代码 index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W

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+批量上传文件+java

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

java版-JQuery上传插件Uploadify使用实例

摘自:http://itindex.net/detail/47160-java-jquery-%E4%B8%8A%E4%BC%A0 运行效果: 包结构图: 后台JAVA逻辑: package com.bijian.study; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; import java.util.UUID; import javax.s

Uploadify上传文件中文文件名乱码 Java

Uploadify是个很好的上传文件组件,但用它来上传带有中文名字的文件时,乱码一个不小心就蹦了出来,最新版本Uploadify v3.2 在用的时候,我页面是GBK编码,想到后台接收的时候肯定会乱码,开始用new String(fileName.getBytes("GBK"),"utf-8");来进行转码(后台用java写的),开始我测试上传了几个中文名称的文件,很正常,但是客户那边用了后,反应文件上传了找不到,KB的开始调试了,把客户的文件拿过来做测试,妈了个咪

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"