commons-fileupload文件上傳

引入jar包

<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.3</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.5</version>
		</dependency>

前端頁面

<%@ page contentType="text/html; charset=UTF-8"%>
	<html>
<head>
<meta charset="utf-8">
</head>
<body>
	<h2>Hello World!</h2>
	<form action="http://localhost:8080/web_3/FileUploadHandler" enctype="multipart/form-data" method="post">
		<input type="file" name="file" multiple="multiple"/>
		<label>姓名</label>:<input name="name"/>
		<input  type="submit"/>
	</form>
</body>
</html>

java後臺

package handler;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
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;

/**
 * Servlet implementation class FileUploadHandler
 */
@WebServlet("/FileUploadHandler")
public class FileUploadHandler extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public FileUploadHandler() {
		super();
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		boolean isMultipart = ServletFileUpload.isMultipartContent(request);
		if (isMultipart) {
			// Create a factory for disk-based file items
			DiskFileItemFactory factory = new DiskFileItemFactory();

			// Configure a repository (to ensure a secure temp location is used)
			ServletContext servletContext = this.getServletConfig()
					.getServletContext();
			File repository = (File) servletContext
					.getAttribute("javax.servlet.context.tempdir");

			factory.setRepository(repository);

			// Create a new file upload handler
			ServletFileUpload upload = new ServletFileUpload(factory);

			// Parse the request
			try {
				List<FileItem> items = upload.parseRequest(request);
				System.out.print(items.size());
				Iterator<FileItem> iter=items.iterator();
				while (iter.hasNext()) {
					/*type type = (type) en.nextElement();*/
					FileItem item=iter.next();
					if (item.isFormField()) {
						String name=item.getFieldName();
						String value=item.getString();
					}else {
						  String fieldName = item.getFieldName();
						  String fileName = item.getName();
						  item.write(new File("D://"+fileName));
						/*  System.out.println("fieldName:"+fieldName);
						  System.out.println("fileName:"+fileName);*/
					}
					
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

}
相關文章
相關標籤/搜索