zoukankan      html  css  js  c++  java
  • Java Miniui实现批量上传文件demo 201906221520

    可能需要的jar包:

    需要miniui(类似easyui).

    Test2019062201.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!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>
        <script src="scripts/boot.js" type="text/javascript"></script>
        <script src="fileupload/swfupload/swfupload.js" type="text/javascript"></script>
        <script src="multiupload/src/multiupload.js" type="text/javascript"></script>
        <link href="multiupload/src/multiupload.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    
        <div id="multiupload1" class="uc-multiupload" style=" 600px; height: 300px" 
            flashurl="fileupload/swfupload/swfupload.swf"
            uploadurl="UploadServlet" _autoUpload="true" _limittype="*.*"
            onuploaderror="onUploadError" onuploadsuccess="onUploadSuccess"
        >
        </div>
    
        <script type="text/javascript">
        
            var fileCount = 0;
             var grid = mini.get("multiupload1");
        
             mini.parse();
             
            function getData() {
                var data = grid.getData();
                var json = mini.encode(data);
                alert(json);
            }
    
            function onUploadSuccess(e) {
                fileCount++;
                var data = grid.getData();
                if(data.length == fileCount){
                    mini.alert("全部文件上传成功!");    
                }
            }
            
            function onUploadError(e) {
                mini.alert("上传失败:" + e.file + ' ' + e.message);
            }
        
        </script>
    
    </body>
    </html>

    UploadServlet.java

    package org.jimmy.testwebproject2019012602.servlet;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.Date;
    import java.util.Enumeration;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import com.oreilly.servlet.MultipartRequest;
    
    /**
     * @author ラピスラズリ(Dawn)
     * @date 2019年6月22日 下午3:10:01
     * @detail 批量上传文件
     */
    public class UploadServlet extends HttpServlet {
        
        private static final long serialVersionUID = 1L;
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doPost(request, response);
        }
    
        @SuppressWarnings("rawtypes")
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String uploadPath = "upload";
            HttpSession session = request.getSession();
            String saveDirectory = session.getServletContext().getRealPath("/" + uploadPath);    
            MultipartRequest multi = new MultipartRequest(request, saveDirectory,
                100 * 1024 * 1024, "UTF-8");
            //如果有上传文件, 则保存到数据内
            Enumeration files = multi.getFileNames();
            while (files.hasMoreElements()) {
                String name = (String) files.nextElement();
                File f = multi.getFile(name);
                if(f != null){
                    //读取上传后的项目文件, 导入保存到数据中
                    String fileName = multi.getFilesystemName(name);
                    response.getWriter().write(fileName + "(" + new Date() + ")");    //可以返回一个JSON字符串, 在客户端做更多处理                    
                }
            }
        }
    
    }
    2015年10月-2016年3月 总计:5个月.
    2016年11月-2017年6月 总计:7个月.
    2017年7月-2018年4月 总计:9个月.
    2018年5月-2018年5月 总计:1个月.
    2018年6月-2018年12月 总计:6个月.
    2019年1月-2019年12月 总计11个月.
    2020年2月-2021年2月 总计13个月.
    所有总计:5+7+9+1+6+11+13=52个月(4年4个月).
    本人认同二元论.我是理想主义者,现实主义者,乐观主义者,有一定的完美主义倾向.不过,一直都是咸鱼(菜鸟),就算有机会,我也不想咸鱼翻身.(并不矛盾,因为具体情况具体分析)
    英语,高等数学,考研,其他知识学习打卡交流QQ群:946556683
  • 相关阅读:
    第10件事 向优秀产品学习的学问
    第9件事 产品定位要解决的6个问题
    第8件事 3步打造产品的独特气质
    Git 从服务器取得最新代码覆盖本地
    Git:代码冲突常见解决方法
    oracle线程数更改
    从Git仓库中恢复已删除的分支、文件或丢失的commit
    Sublime 3114 + 转换GBK方法
    教你快速写出多线程Junit单元测试用例
    Spring中加载xml配置文件的六种方式
  • 原文地址:https://www.cnblogs.com/JimmySeraph/p/11069002.html
Copyright © 2011-2022 走看看