可能須要的jar包:javascript
須要miniui(相似easyui).css
Test2019062201.jsphtml
<%@ 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="width: 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.javajava
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字符串, 在客戶端作更多處理 } } } }