java实现文件上传

JAVA 交流学习群 :175161984
【FileUp.rar】 下载: http://pan.baidu.com/s/1c0AR9vE 密码: 2cbw
代码如下:
前台页面:
01 <%@ page
language="java"  import="java.util.*" pageEncoding="UTF-8"%>
02 <%
03 g String path =
request.getContextPath();
0
4
g String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPor
t()+path+"/";
05 %>
06
07
08
09
10 <base
href="<%=basePath%>">
11
12 <title>My
JSP 'index.jsp' starting
page</title>
13 <meta
http-equiv="pragma" content="no-cache">
14 <meta
http-equiv="cache-control" content="no-cache">
15 <meta
http-equiv="expires" content="0">
16 <meta
http-equiv="keywords" content="keyword1,keyword2,keyword3">
17 <meta
http-equiv="description" content="This
ismy page">
18 <!--
19 <link
rel="stylesheet" type="text/css" href="styles.css">
20 -->
21
22
23 <!--
24 action:
请求地址
25 method:
请求方
式 get post
26 enctype:multipart/form-data
以二进制的形式向服务器传递参数
27 -->
28 <form
action="fileUp.do" method="post" enctype="multipart/form-data">
29 <table>
30 <tbody><tr>
31 <td>
请选择要上传的
文件:</td>
32 <td><input
type="file" name="file"></td>
33 </tr>
34 <tr>
35 <td><input
type="submit" value="
开始上传"></td>
36 </tr>
37 </tbody></table>
38 </form>
39
后端代码:
01 e package com.tanzhou;
02
03 t import java.io.File;
04 t import java.io.IOException;
05 t import java.io.PrintWriter;
06 t import java.util.Iterator;
07 t import java.util. List;
08
09 t import javax.servlet.http.HttpServlet;
10 t import javax.servlet.http.HttpServletRequest;
11 t import javax.servlet.http.HttpServletResponse;
12
13 t import org.apache.commons.fileupload.FileItem;
14 t import org.apache.commons.fileupload.FileUploadException;
15 t import org.apache.commons.fileupload.disk.DiskFileItemFactory;
16 t import org.apache.commons.fileupload.servlet.ServletFileUpload;
17
18 s public class FileUpServlet s extends HttpServlet{
19 //重写
HttpServlet
里面的
service方法
20 d public void service(HttpServletRequest
request,HttpServletResponse response)
21 s throws IOException{
22 request.setCharacterEncoding("UTF-8");//
设置编码
23 response.setCharacterEncoding("GBK");
24 //
基于磁
盘文件
项目创
建一个
工厂对

25 DiskFileItemFactory
factory =  new DiskFileItemFactory();
26 //
创建一
个新的
文件上
传对象
27 ServletFileUpload upload
=  new ServletFileUpload(factory);
28 y try {
29 //
解析上传请

30 t List items =
upload.parseRequest(request);
31 Iterator
itr =
items.iterator();//
枚举方法 返回迭代

32 e while (itr.hasNext())
{//如果迭代器有数据 返回
true 没数据返回 false
33 FileItem
fileItem =
(FileItem)itr.next();//
获取 FileItem 对象
34 f if(!fileItem.isFormField()){//
判断是否为文件上传域 如果是文件上传域
返回 false 不是就返回 true
35 g long fileSize
= fileItem.getSize();//获
取文件的大小
36 g String fileName
= fileItem.getName();//获取
上传文件的名字(真实文件)
37 //
构建一个临时对
象,将文件暂时的
保存在服务器的
内存里面
38 File
tempFile
=  new File(fileName);
39 //
根据 servlet 上下
文获取上传路径
40 g String updatePath
=  this.getServletContext().getRealPath("/upload");
41 //
获取根目录对应
的真实物理路径
42 File file
=  new File(updatePath,tempFile.getName());
43 //
将文件上传
44 fileItem.write(file);
45 PrintWriter
out =
response.getWriter();//
获取输出流
46 out.print("
文件上传成功! ");
47 out.print("
上传路径为:
"+updatePath);
48 out.print("
文件名: "+fileName);
49 out.print("
文件的大小为:
"+fileSize+" KB");
50 }
51 }
52 } h catch (FileUploadException
e){
53 e.printStackTrace();
54 } h catch (Exception
e){
55 e.printStackTrace();
56 }
57
58 }
59 }
web.xml:
01 <!--?xml
version="1.0" encoding="UTF-8"?
-->
02 <web-app
xmlns:xsi=" http://www.w3.org/2001/XMLSchema-i
nstance " 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
_2_5.xsd " id="WebApp_ID" version="2.5">
03 <display-name>FileUp</display-name>
04 <welcome-file-list>
05 <welcome-file>index.html</welcome-file>
06 <welcome-file>index.htm</welcome-file>
07 <welcome-file>index.jsp</welcome-file>
08 <welcome-file> default.html</welcome-file>
09 <welcome-file> default.htm</welcome-file>
10 <welcome-file> default.jsp</welcome-file>
11 </welcome-file-list>
12
13 <!--
定义一

servlet
-->
14 <servlet>
15 <servlet-name>file</servlet-name>
16 <servlet- class>com.tanzhou.FileUpServlet</servlet- class>
17 </servlet>
18
19 <!--
配置
访问
路径
-->
20 <servlet-mapping>
21 <servlet-name>file</servlet-name>
22 <url-pattern>/fileUp. do</url-pattern>
23 </servlet-mapping>
24 </web-app>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值