JSP的文件上传处理

简介: JSP的文件上传处理

这个例子展示了如何使用JSP将用户指定的本地文件上传到服务器某个目录下面。

首先是文件上传的用户界面:image.png界面如下:image.pngUploadServlet.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的内容:image.png用Choose File选中一个本地文件,然后点击Upload File进行上传:image.png上传成功,在c盘temp文件夹下发现了成功上传的文件:image.png

相关文章
|
1月前
|
Java
JSP实现文件上传——uploadFile.jsp
JSP实现文件上传——uploadFile.jsp
18 0
|
1月前
|
Java
jsp实现文件上传——douploadFile.jsp
jsp实现文件上传——douploadFile.jsp
13 0
|
5月前
|
Web App开发 安全 JavaScript
浙大恩特客户资源管理系统 fileupload.jsp 任意文件上传漏洞
杭州恩软信息技术有限公司(简称浙大恩特)提供外贸管理软件、外贸客户管理软件等外贸软件,是一家专注于外贸客户资源管理及订单管理产品及服务的综合性公司,该系统旨在帮助企业高效管理客户关系,提升销售业绩,促进市场营销和客户服务的优化。系统支持客户数据分析和报表展示,帮助企业深度挖掘客户数据,提供决策参考。
215 0
|
11月前
|
Java
jsp实现文件上传——douploadFile.jsp
jsp实现文件上传——douploadFile.jsp
49 0
|
11月前
|
Java
JSP实现文件上传——uploadFile.jsp
JSP实现文件上传——uploadFile.jsp
45 0
|
Java
JSP 文件上传
JSP 文件上传
80 0
|
Java
JSP的文件上传处理
JSP的文件上传处理
96 0
JSP的文件上传处理
|
Java
jsp中如何整合CKEditor+CKFinder实现文件上传
最近笔者做了一个新闻发布平台,放弃了之前的FCKEditor编辑器,使用了CKEditor+CKFinder,虽然免费的CKFinder是Demo版本,但是功能完整,而且用户都是比较集中精神发新闻的人,不会在意这个。
1454 0
|
23天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
19 1