- 新建javaweb项目FileUpload
- 使用commons-fileupload时,需要使用commons-io的jar文件。下载commons-io
- commons-fileupload的官方下载:fileupload官方下载。网站上还有user guide,可以仔细的看一下。
- 将下载的两个jar包添加到项目库中。
- 编写两个jsp页面,index.jsp,upload.jsp。
- index编写所需的表单,即提供上传文件请求的表单。下面说一下文件上传组件的基本流程:
创建 factory 由 factory 创建 upload由 upload 解析 request - index.jsp源代码如下:
<html> <head> <title>JSP Page</title> </head> <body> 使用Commons FileUpload上传文件: <form action="upload.jsp" method="post" enctype="multipart/form-data"> <input type="file" name="file1"/><br> <input type="submit" name="submit"/><br> </body> </html>
- upload.jsp源代码如下:
<%@page import="org.apache.commons.fileupload.FileItem"%> <%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%> <%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%> <%@page import="java.util.Iterator"%> <%@page import="java.util.List"%> <%@page import="java.io.File"%> <%@page contentType="text/html" pageEncoding="gb2312"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>upload Page</title> </head> <body> <% DiskFileItemFactory factory = new DiskFileItemFactory();//建立一个新的文件上传句柄 File dir = new File("E:");//建立上传文件的存放位置 factory.setRepository(dir);// 设置存放临时文件的目录 ServletFileUpload upload = new ServletFileUpload(factory);// 用以上工厂实例化上传组件 List list = upload.parseRequest(request);//从request得到所有上传域的列表 Iterator iter = list.iterator();// 得到所有上传的文件 while (iter.hasNext()) {//循环处理所得到的的文件信息 FileItem item = (FileItem)iter.next(); if (!item.isFormField()) {//文件域的处理 String name = item.getName(); out.print(name); item.write(new File(dir, name)); } } out.print("上传成功!"); %> </body> </html>
Jsp 使用commons-fileupload实现文件上传
最新推荐文章于 2019-09-03 16:22:00 发布