• uploadify+批量上传文件+java


    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <% 
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <!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>
    <base href="<%=basePath%>">
    <link href="<%=basePath%>uploadify/uploadify.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" src="<%=basePath%>uploadify/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="<%=basePath%>uploadify/swfobject.js"></script>
    <script type="text/javascript" src="<%=basePath%>uploadify/jquery.uploadify.v2.1.4.min.js"></script>
    </head>
    <body>
    <div id="fileQueue"></div>
        <input type="file" name="uploadify" id="uploadify" />
        <p>
        <!-- 
            <a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a>&nbsp;
             -->
             <a href="javascript: jQuery('#uploadify').uploadifyUpload()">开始上传</a>&nbsp;
            <a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a>
        </p>
    </body>
    <script type="text/javascript">
    //官方网址:http://www.uploadify.com/
    $(document).ready(function(){
        //$("#uploadify").uploadifySettings('scriptData',    {'name':'liudong','age':22});
        $("#uploadify").uploadify({
            'uploader'    :    "<%=basePath%>uploadify/uploadify.swf",
            'script'    :    "<%=basePath%>/uploadify/uploadFile.jsp",
            'cancelImg' :    "<%=basePath%>uploadify/cancel.png",
            'folder'    :    "uploads",//上传文件存放的路径,请保持与uploadFile.jsp中PATH的值相同
            'queueId'    :    "fileQueue",
            'queueSizeLimit'    :    10,//限制上传文件的数量
            'fileExt'    :    "*.rar,*.zip",
            //'fileDesc'    :    "RAR *.rar",//限制文件类型
            'auto'        :    false,
            'multi'        :    true,//是否允许多文件上传
            'simUploadLimit':    2,//同时运行上传的进程数量
            'buttonText':    "files",
            'scriptData':    {'name':'liudong','age':22},//这个参数用于传递用户自己的参数,此时'method' 必须设置为GET, 后台可以用request.getParameter('name')获取名字的值
            'method'    :    "GET"
        });
        
        //$("#uploadify").uploadifySettings();
    });
    </script>
    </html>

    后台接受程序:

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ page import="java.io.*, java.util.*, org.apache.commons.fileupload.*" %>
    <%@ page import="org.apache.commons.fileupload.disk.*, org.apache.commons.fileupload.servlet.*" %>
    <%!
        
        String PATH = "/uploads/";
        public void upload(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
            String savePath = this.getServletConfig().getServletContext().getRealPath("");
            savePath = savePath + PATH;
            File f1 = new File(savePath);
            System.out.println(savePath);
            //这里接收了name的值
            System.out.println(request.getParameter("name"));
            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();
                    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);
        }
    %>
    <%
        upload(request, response);
    %>

    uploadify.rar

    转自:http://blog.csdn.net/lychaox/article/details/6866452

  • 相关阅读:
    hdu 2050 折线分割平面 递推
    hdu 2044 一只小蜜蜂 斐波那契数列 递推
    hdu 2018 母牛的故事 递推
    hdu 2084 数塔 dp 动态规划
    Linux 常用协议结构体及详解
    【ArcEngine入门与提高】Element(元素)、Annotation(注记)旋转
    AO总结10:MapControl控件
    esriControlsMousePointer 控制鼠标指针
    图解VS2010打包全过程(转)
    ArcEngine中打开各种数据源(WorkSpace)的连接(转)
  • 原文地址:https://www.cnblogs.com/onetwo/p/5581352.html
Copyright © 2020-2023  润新知