`

jquery_upload

阅读更多

一、下载最新版的uploadify
     http://www.uploadify.com/download/
二、将压缩包解压,复制 
    uploadify.css
   uploadify.swf
   swfobjects.js
   jquery.uploadify.v2.1.0.min.js
   cancel.png
   jquery-1.3.2.min.js
   default.css到项目中。
三、在项目中添加三个jar包
    commons-fileupload-1.2.1.jar
    commons-logging-1.0.4.jar
    commons-io.jar
四、在需要使用上传插件的页页头部导入
   

<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<!-- 文件上传开始 -->
<link href="css/default.css" rel="stylesheet" type="text/css" />
<link href="css/uploadify.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript" src="js/jquery.uploadify.v2.1.0.min.js"></script>
<script type="text/javascript" src="js/function.js"></script>
<!-- 文件上传结束 -->
 五、编写js文件
$(document).ready(function(){	
	//A文件上传
		$("#uploadFile").uploadify({
		'uploader'       : 'images/uploadify.swf',//指定上传控件的主体文件,默认‘uploader.swf’
		'script'         : 'UploadServlet', //指定服务器端上传处理文件
		'scriptData'     : {'uploadFile':$('#uploadFile').val()},
		'cancelImg'      : 'images/cancel.png',
		'fileDataName'   : 'uploadFile',
		'fileDesc'       : 'jpg文件或jpeg文件或gif文件',  //出现在上传对话框中的文件类型描述
		'fileExt'        : '*.jpg;*.jpeg;*.gif',      //控制可上传文件的扩展名,启用本项时需同时声明fileDesc
		'sizeLimit'      : 512000,           //控制上传文件的大小,单位byte				
		'folder'         : '/uploadImages',
		'queueID'        : 'fileQueueA',
		'auto'           : false,
		'multi'          : true
	});
});		
	
 六、html代码
<!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>jquery 文件上传</title>
</head>
<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<!-- 文件上传开始 -->
<link href="css/default.css" rel="stylesheet" type="text/css" />
<link href="css/uploadify.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript" src="js/jquery.uploadify.v2.1.0.min.js"></script>
<script type="text/javascript" src="js/function.js"></script>
<!-- 文件上传结束 -->
<body>
<!-- 显示图片 -->
<div id="pic" style="position: absolute; right: 28px; top: 79px; width: 180px; height: 230px; z-index: 2;"></div>
<div class="demo">
<p><strong>Multiple File Upload</strong></p>
<input id="uploadFile" name="uploadFile" type="file" /> <a href="javascript:$('#uploadFile').uploadifyUpload();">Upload Files</a> | <a href="javascript:$('#uploadFile').uploadifyClearQueue();">Clear Queue</a></div>

 <div id="fileQueueA" ></div>
</body>
</html>
 七、servlet代码
package com.aptech.servlet;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletConfig;
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;
import com.aptech.util.FileUploadUtil;

/**
 * Servlet implementation class UploadServlet
 */
public class UploadServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
  private static String     path;
    /**
     * Default constructor. 
     */
    public UploadServlet() {
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
	 */
	@Override
  protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    // 生成存放文件的路径
    String savePath = path + "/";

    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(request);
    } 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();

        // 新的文件名
        String newUploadFileName = FileUploadUtil.getlnstance().getNewFileName(name);

        // // 扩展名格式:
        //
        // if (name.lastIndexOf(".") >= 0) {
        //
        // extName = name.substring(name.lastIndexOf("."));
        //
        // }

        File saveFile = new File(savePath + newUploadFileName);
        try {

          item.write(saveFile);

        } catch (Exception e) {

          e.printStackTrace();

        }

      }

    }
  }

  @Override
  public void init(ServletConfig config) throws ServletException {
    path = config.getServletContext().getRealPath("/uploadImages");
  }


}
 
八、配置servlet
<?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>jquery_upload</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>UploadServlet</display-name>
    <servlet-name>UploadServlet</servlet-name>
    <servlet-class>com.aptech.servlet.UploadServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>UploadServlet</servlet-name>
    <url-pattern>/UploadServlet</url-pattern>
  </servlet-mapping>
</web-app>
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics