手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

JSP上传文件到服务器(指定文件夹)

时间:2024-10-16 22:18:17

1、创建文件上传表单upload.html<html><head><title>File Uploading Form</title></head><body><h3>File Upload:</h3>Select a file to upload: <br /><form action="UpLoadFile.jsp" method="post" enctype="multipart/form-data"><input type="file" name="file" size="50" /><br /><input type="submit" value="Upload File" /></form></body></html>

2、创建处理数据的jspUpLoadFile.jsp<%@page import="org.apache.tomcat.util.http.fileupload.servlet.ServletRequestContext"%><%@page import="org.apache.tomcat.util.http.fileupload.FileItem"%><%@page import="org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload"%><%@page import="org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory"%><%@ page import="java.io.*,java.util.*, javax.servlet.*" %><%@ page import="javax.servlet.http.*" %><% File file ; int maxFileSize = 5000 * 1024; int maxMemSize = 5000 * 1024; ServletContext context = pageContext.getServletContext(); String filePath = context.getInitParameter("file-upload"); // ????????? String contentType = request.getContentType(); if ((contentType.indexOf("multipart/form-data") >= 0)) { DiskFileItemFactory factory = new DiskFileItemFactory(); // ????????????? factory.setSizeThreshold(maxMemSize); // ????????? maxMemSize. factory.setRepository(new File("c:\\temp")); // ?????????????? ServletFileUpload upload = new ServletFileUpload(factory); // ??????????? upload.setSizeMax( maxFileSize ); try{ // ??????? //List fileItems = upload.parseRequest(request);//??????HttpServletRequest?????RequestContext List fileItems = upload.parseRequest(new ServletRequestContext(request)); // ??????? Iterator i = fileItems.iterator(); out.println("<html>"); out.println("<head>"); out.println("<title>JSP File upload</title>"); out.println("</head>"); out.println("<body>"); while ( i.hasNext () ) { FileItem fi = (FileItem)i.next(); if ( !fi.isFormField () ) { // ????????? String fieldName = fi.getFieldName(); String fileName = fi.getName(); boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); // ???? if( fileName.lastIndexOf("\\") >= 0 ){ file = new File( filePath , fileName.substring( fileName.lastIndexOf("\\"))) ; }else{ file = new File( filePath , fileName.substring(fileName.lastIndexOf("\\")+1)) ; } fi.write( file ) ; out.println("Uploaded Filename: " + filePath + fileName + "<br>"); } } out.println("</body>"); out.println("</html>"); }catch(Exception ex) { System.out.println(ex); } }else{ out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>No file uploaded</p>"); out.println("</body>"); out.println("</html>"); }%>

3、创建web.xml文件<?xml version="1.0" encoding=&鳎溻趄酃quot;UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <context-param> <description>Location to store uploaded file</description> <param-name>file-upload</param-name> <param-value> C:\Users\Administrator\Documents\NetBeansProjects\uploadfiles\web\temp </param-value></context-param></web-app>

4、运行upload.html即可

© 手抄报圈