生活随笔
收集整理的這篇文章主要介紹了
form表单多文件上传
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.html/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>
<%String path=request.getContextPath();request.setAttribute("path", path);
%>
</head>
<body>
<form action="${path}/MultiUp" method="post" enctype="multipart/form-data"><table><tr><td>上傳文件
</td><td> <input type="file" name="fileN1" /></td></tr><tr><td>上傳文件
</td><td> <input type="file" name="fileN2" /></td></tr><tr><td>上傳文件
</td><td> <input type="file" name="fileN3" /></td></tr><tr><td colspan="2"><input type="submit" /><input type="reset" /></td></tr></table></form>
</body>
</html> duoUp.jsp
2.過濾器解決編碼問題
package com.ser;import java.io.IOException;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class Filter01
implements Filter
{@Overridepublic void destroy(){}@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException{HttpServletRequest request=
(HttpServletRequest)arg0;HttpServletResponse response=
(HttpServletResponse)arg1;request.setCharacterEncoding("utf-8"
);response.setCharacterEncoding("utf-8"
);response.setContentType("text/html charset=utf-8"
);//System.out.println(">>>>>>>>>>>>");
arg2.doFilter(request, response);}@Overridepublic void init(FilterConfig arg0)
throws ServletException{}} Filter01.java
3.多文件上傳服務器處理
package multiup;import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.Collections;import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;import org.apache.commons.collections.CollectionUtils;/*** Servlet implementation class MultiUp*/
@WebServlet("/MultiUp"
)
@MultipartConfig(location="e://uploadFile"
,fileSizeThreshold=1024*1024*10
,maxFileSize=1024*1024*200
,maxRequestSize=1024*1024*300
)
public class MultiUp
extends HttpServlet {private static final long serialVersionUID = 1L
;/*** @see HttpServlet#HttpServlet()*/public MultiUp() {}@Overridepublic void init(ServletConfig config)
throws ServletException{File file =
new File("e://uploadFile"
);if(!file.exists()&&!
file.isDirectory()){file.mkdir();}}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {Collection<Part> parts=
request.getParts();StringBuffer sb=
new StringBuffer();if(!
CollectionUtils.isEmpty(parts)){for(Part part:parts){String header=part.getHeader("content-disposition"
);String filename= header.substring(header.indexOf("filename")+10,header.lastIndexOf("\""
));part.write(filename);sb=sb.append(filename).append(","
);}}String str =sb.toString().substring(0,sb.toString().length()-1
);response.getWriter().print(str+"上傳成功!"
);}} MultiUp.java ?
轉載于:https://www.cnblogs.com/waarp/p/7281580.html
總結
以上是生活随笔為你收集整理的form表单多文件上传的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。