當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JSP的文件上传处理
生活随笔
收集整理的這篇文章主要介紹了
JSP的文件上传处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個例子展示了如何使用JSP將用戶指定的本地文件上傳到服務器某個目錄下面。
首先是文件上傳的用戶界面:
<html> <head> <title>File Uploading Form</title> </head> <body> <h3>File Upload:</h3> Select a file to upload: <br /> <form action="UploadServlet.jsp" method="post"enctype="multipart/form-data"> <input type="file" name="file" size="50" /> <br /> <input type="submit" value="Upload File" /> </form> </body> </html>界面如下:
UploadServlet.jsp的源代碼:
<%@ page import="java.io.*,java.util.*, javax.servlet.*" %> <%@ page import="javax.servlet.http.*" %> <%@ page import="org.apache.commons.fileupload.*" %> <%@ page import="org.apache.commons.fileupload.disk.*" %> <%@ page import="org.apache.commons.fileupload.servlet.*" %> <%@ page import="org.apache.commons.io.output.*" %><%System.out.println("my file upload jsp file called!");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);factory.setRepository(new File("c:\\temp"));ServletFileUpload upload = new ServletFileUpload(factory);upload.setSizeMax( maxFileSize );try{ List fileItems = upload.parseRequest(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>");} %>web.xml的內容:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>jerryjsp</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><context-param> <description>File Upload Position</description> <param-name>file-upload</param-name> <param-value>c:\temp</param-value> </context-param> </web-app>用Choose File選中一個本地文件,然后點擊Upload File進行上傳:
上傳成功,在c盤temp文件夾下發現了成功上傳的文件:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的JSP的文件上传处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是机器人技术
- 下一篇: 利用JSP内置的Application对