commons.fileupload 文件上传

编辑jsp页面获取文件

 1 <html>
 2   <head>
 3     <base href="<%=basePath%>">
 4
 5     <title>My JSP ‘upload.jsp‘ starting page</title>
 6
 7     <meta http-equiv="pragma" content="no-cache">
 8     <meta http-equiv="cache-control" content="no-cache">
 9     <meta http-equiv="expires" content="0">
10     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
11     <meta http-equiv="description" content="This is my page">
12     <!--
13     <link rel="stylesheet" type="text/css" href="styles.css">
14     -->
15
16   </head>
17
18   <body>
19     <form action="upload1" method="post" enctype="Multipart/form-data">
20         file:<input type="file" name="upload">
21         <input type="submit" value="上传">
22     </form>
23   </body>
24 </html>

servlet上传:

 1 import java.io.File;
 2 import java.io.IOException;
 3 import java.io.PrintWriter;
 4 import java.util.List;
 5 import java.util.UUID;
 6
 7 import javax.servlet.ServletException;
 8 import javax.servlet.annotation.MultipartConfig;
 9 import javax.servlet.annotation.WebServlet;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13
14 import org.apache.commons.fileupload.FileItem;
15 import org.apache.commons.fileupload.FileUploadException;
16 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
17 import org.apache.commons.fileupload.servlet.ServletFileUpload;
18 @WebServlet("/upload1")
19
20 public class Upload1 extends HttpServlet {
21
22     public void doGet(HttpServletRequest request, HttpServletResponse response)
23             throws ServletException, IOException {
24             doPost(request, response);
25     }
26
27     public void doPost(HttpServletRequest request, HttpServletResponse response)
28             throws ServletException, IOException {
29         /**
30          *    1、创建文件项工厂
31          */
32
33         DiskFileItemFactory factory = new DiskFileItemFactory();
34         /**
35          *    2、创建解析请求 数据的ServletFileUpload对象
36          */
37         ServletFileUpload upload = new ServletFileUpload(factory);
38         try {
39         /**
40          *   3、解析请求数据 返回FileItem 列表
41          */
42             List<FileItem> list = upload.parseRequest(request);
43         /**
44          *   4、解析获取每一个FileItem 对象
45          */
46
47             FileItem item = list.get(0);
48
49             //验证当前FileItem  是否是表单字段    如果fales  则取到的是文件
50             item.isFormField();
51         /**
52          *   5、文件名及路径处理
53          */
54             //处理文件
55             String filename= item.getName();
56             //截取文件扩展名
57             String extName = filename.substring(filename.lastIndexOf("."));
58             //生成UUID作为文件名
59             String newName= UUID.randomUUID().toString();
60             //获取服务器上自定义的存放文件的目录
61             String rootPath = request.getSession().getServletContext().getRealPath("/upload");
62             //生成完整的文件路径
63             String newPath = rootPath+"/"+newName+extName;
64             System.out.println(newPath);
65         /**
66          *      6、文件写入
67          */
68             item.write(new File(newPath));
69
70         } catch (FileUploadException e) {
71             e.printStackTrace();
72         } catch (Exception e) {
73             e.printStackTrace();
74         }
75     }
76
77 }
时间: 2024-10-05 20:23:45

commons.fileupload 文件上传的相关文章

fileupload文件上传

在使用java开发文件上传时,网络上有很多不一样的工具.但是每次如果都需要开发一次,对于使用者来说,这个过程是浪费时间的.所以我们有必要选取其中一个适合自己的文件上传组件,然后对其进一步分装,形成自己的开发工具类.下面我针对自己的工程,对fileupload进行了封装. fileupload是apache的一个组件,要想使用fileupload,需要用到下面两个jar:commons-fileupload-1.3.1.jar,commons-io-1.1.jar(版本不一样,可能相关jar包不一

改变FileUpload文件上传控件的显示方式,确认后上传

一.Aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FileUploadDemo.aspx.cs" Inherits="WebApplication1.FileUploadDemo" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu

简单的FileUpload文件上传

引入jar包:commons-fileupload-1.3.1.jar,commons-io-1.3.2.jar 前台HTML: <form action="./upload" method="post" enctype="multipart/form-data"> <table> <tr> <td><label>用户名:</label></td> <td&

对FileUpload文件上传控件的一些使用方法说明

//可以上传图片,txt文档.doc,wps,还有音频文件,视屏文件等,功能强大啊! //前台代码片,设置上传图片的界面 <div> <asp:Label ID ="lbText" runat ="server" Font-Bold ="true" Font-Size ="20px" Text ="请选择您要上传的照片"> </asp:Label> <br />

SSH框架 FileUpLoad文件上传

文件上传是很常用的一个功能,今天说一下struts2的文件上传,使用的是fileupload组件. 首先要有两个jar包,如下图所示: 如果没有这两个jar包的话上传肯定不会成功的,控制台会报错的. 然后再页面上要有一个上传文件的标签,如下图所示: 不要在意后面的onchange事件,这个是做的一个图片上传,为了能够点击图片直接弹出文件选择框而写的一个函数,顺便提一下吧,具体函数和做法如下图所示: 下面是函数: 这个...下面言归正传,继续说文件上传,页面上的上传文件的标签最重要的就是type=

Bootstrap Fileupload 文件上传

1.在jsp中引入css与js文件, <link href="${ctx}/plugins/fileup/css/fileinput.css" media="all" rel="stylesheet" type="text/css"/>----css <script type="text/javascript" src="${ctx}/plugins/fileup/js/file

改变FileUpload文件上传控件的显示方式,选择文件后自动上传

一.Aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FileUploadDemo.aspx.cs" Inherits="WebApplication1.FileUploadDemo" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu

FileUpload 文件上传

实现文件的上传功能现在有两种方式: FileUpload jar包 javax-servlet-api 的 HttpServletRequest接口中的getPart()方法 首先使用第一种: 1.创建项目,引入commons-fileupload jar 和javax.servlet-api 2.创建jsp页面: 3.程序处理: @WebServlet("/upload") public class Upload extends HttpServlet { @Override pro

转:在Struts 2中实现文件上传

前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题, 所以今天我们就来讨论一下这个问题. 实现原理 Struts 2是通过Commons FileUpload文件上传.Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中.从而我们就能够以本地文件方式的操作浏览器上传的文件. 具体实现 前段时间Apache发布了Struts 2.0.6 GA,所以本文的实现是以该版本的Struts