JSP中Uploadify插件的使用(jQuery上传插件)

1、下载最新的zip压缩包 http://www.uploadify.com 

2、从其中提取文件。 
   下载插件安装包后,可以看到官方给出的例子。里面文件夹的几个主要文件:jquery.uploadify.js(完成上传功能的脚本文件,在调用页面引用)、uploadify.css(外观样式表)、uploader.swf(上传控件的主体文件,flash控件)、upload.php(服务器端处理文件,官方仅提供了php版的)。 
下面我使用的是在MyEclipse部署的java版。注意:需要加入三个commons.jar包:io、logging、fileupload。 

3、导入default.css,uploadify.css,jQuery脚本,swfobject脚本和Uploadify插件。并且添加调用插件使用$,在您的网页的<head>部分ready事件: 

Html代码   收藏代码
  1. <%@ page language="java" contentType="text/html; charset=utf-8"%>  
  2. <%  
  3. String path = request.getContextPath();  
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. %>  
  6. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  7. <html>  
  8.       <head>  
  9.         <base href="<%=basePath%>">  
  10.         <title>Upload</title>  
  11.  <!--装载文件-->  
  12.         <link href="css/default.css" rel="stylesheet" type="text/css" />  
  13.         <link href="css/uploadify.css" rel="stylesheet" type="text/css" />  
  14.         <script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script>  
  15.         <script type="text/javascript" src="scripts/swfobject.js"></script>  
  16.         <script type="text/javascript" src="scripts/jquery.uploadify.v2.1.0.min.js"></script>  
  17.    <!--ready事件-->  
  18. <script type="text/javascript">  
  19.         $(document).ready(function() {  
  20.             $("#uploadify").uploadify({  
  21.                 'uploader'       : 'uploadify.swf',  
  22.                 'script'         : 'servlet/Upload',//后台处理的请求  
  23.                 'cancelImg'      : 'images/cancel.png',  
  24.                 'folder'         : 'uploads',//您想将文件保存到的路径  
  25.                 'queueID'        : 'fileQueue',//与下面的id对应  
  26.                 'queueSizeLimit'  :1,  
  27.                 'fileDesc'    : 'rar文件或zip文件’,      
  28.             'fileExt' : '*.rar;*.zip', //控制可上传文件的扩展名,启用本项时需同时声明fileDesc  
  29.                'auto'           : false,  
  30.                 'multi'          : true,  
  31.                 'simUploadLimit' : 2,  
  32.                 'buttonText'     : 'BROWSE'  
  33.             });  
  34.         });  
  35.         </script>    </head>  
  36.     <body>  
  37.         <div id="fileQueue"></div>  
  38.         <input type="file" name="uploadify" id="uploadify" />  
  39.         <p>  
  40.         <a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a>&nbsp;  
  41.         <a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a>  
  42.         </p>  
  43.     </body>  
  44. </html>  

4、后台处理的upload.java 

Java代码   收藏代码
  1. package com.xzit.upload;  
  2. import java.io.File;  
  3. import java.io.IOException;  
  4. import java.util.Iterator;  
  5. import java.util.List;  
  6. import java.util.UUID;  
  7. import javax.servlet.ServletException;  
  8. import javax.servlet.http.HttpServlet;  
  9. import javax.servlet.http.HttpServletRequest;  
  10. import javax.servlet.http.HttpServletResponse;  
  11. import org.apache.commons.fileupload.FileItem;  
  12. import org.apache.commons.fileupload.FileUploadException;  
  13. import org.apache.commons.fileupload.disk.DiskFileItemFactory;  
  14. import org.apache.commons.fileupload.servlet.ServletFileUpload;  
  15.   
  16. @SuppressWarnings("serial")  
  17. public class Upload extends HttpServlet {  
  18.     @SuppressWarnings("unchecked")  
  19.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  20.             throws ServletException, IOException {  
  21.         String savePath = this.getServletConfig().getServletContext()  
  22.                 .getRealPath("");  
  23.         savePath = savePath + "/uploads/";  
  24.         File f1 = new File(savePath);  
  25.         System.out.println(savePath);  
  26.         if (!f1.exists()) {  
  27.             f1.mkdirs();  
  28.         }  
  29.         DiskFileItemFactory fac = new DiskFileItemFactory();  
  30.         ServletFileUpload upload = new ServletFileUpload(fac);  
  31.         upload.setHeaderEncoding("utf-8");  
  32.         List fileList = null;  
  33.         try {  
  34.             fileList = upload.parseRequest(request);  
  35.         } catch (FileUploadException ex) {  
  36.             return;  
  37.         }  
  38.   
  39.         Iterator<FileItem> it = fileList.iterator();  
  40.         String name = "";  
  41.         String extName = "";  
  42.         while (it.hasNext()) {  
  43.             FileItem item = it.next();  
  44.             if (!item.isFormField()) {  
  45.                 name = item.getName();  
  46.                 long size = item.getSize();  
  47.                 String type = item.getContentType();  
  48.                 System.out.println(size + " " + type);  
  49.                 if (name == null || name.trim().equals("")) {  
  50.                     continue;  
  51.                 }  
  52.   
  53.                 //扩展名格式:   
  54.                 if (name.lastIndexOf(".") >= 0) {  
  55.                     extName = name.substring(name.lastIndexOf("."));  
  56.                 }  
  57.   
  58.                 File file = null;  
  59.                 do {  
  60.                     //生成文件名:  
  61.                     name = UUID.randomUUID().toString();  
  62.                     file = new File(savePath + name + extName);  
  63.                 } while (file.exists());  
  64.                 File saveFile = new File(savePath + name + extName);  
  65.                 try {  
  66.                     item.write(saveFile);  
  67.                 } catch (Exception e) {  
  68.                     e.printStackTrace();  
  69.                 }  
  70.             }  
  71.         }  
  72.         response.getWriter().print(name + extName);  
  73.     }  
  74. }  

5、配置处理的servlet 
Web.xml文件 
Xml代码   收藏代码
  1.  <?xml version="1.0" encoding="UTF-8"?>  
  2. t;web-app version="2.4"  
  3.   xmlns="http://java.sun.com/xml/ns/j2ee"  
  4.   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
  6.   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">   
  7. <servlet>  
  8.   <servlet-name>upload</servlet-name>  
  9.   <servlet-class>com.xzit.upload.Upload</servlet-class>  
  10. </servlet>  
  11. <servlet-mapping>  
  12.   <servlet-name>upload</servlet-name>  
  13.   <url-pattern>/servlet/Upload</url-pattern>  
  14. </servlet-mapping>  
  15. <welcome-file-list>  
  16.   <welcome-file>index.jsp</welcome-file>  
  17. </welcome-file-list>  
  18. t;/web-app>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值