Apache FileUpload的两种上传方式介绍
环境:
tomcat5.6
commmons-fileupload-1.3.jar
commmons-io-2.4.jar
JSP
编码:UTF-8
临时文件夹:fileupload/tmp相对于网站根目录
上传文件保存位置:fileupload
<%@page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" language="java"%><%@page import="java.io.*"%><%@page import="java.util.List"%><%@page import="org.apache.commons.fileupload.*"%><%@page import="org.apache.commons.fileupload.util.Streams"%><%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%><%request.setCharacterEncoding("UTF-8");// Check that we have a file upload requestif(ServletFileUpload.isMultipartContent(request)){// Create a new file upload handlerServletFileUpload upload = new ServletFileUpload();// Parse the requestFileItemIterator iter = upload.getItemIterator(request);while(iter.hasNext()){FileItemStream item = iter.next();String fieldName = item.getFieldName();InputStream is = item.openStream();if(item.isFormField())//regular form field{%><!-- read a FileItemStream's content into a string. --><h1><%=fieldName%> --> <%=Streams.asString(is)%></h1><%}else{//file uploadString fileName = item.getName();File uploadedFile = new File(getServletContext().getRealPath("/") +"fileupload" + File.separator + fieldName + "_" + fileName);OutputStream os = new FileOutputStream(uploadedFile);// write file to disk and close outputstream.Streams.copy(is, os, true);%><h1>upload file <%=uploadedFile.getName()%> done!</h1><%}}}%>