jsp servlet上传文件方法

文件上传

  1. 创建一个项目
  2. 创建一个jsp页面,然后在其中添加一个input 标签中添加一个 type = file

提交form     必须写成method =”post”  enctype=””

属性值

描述

application/x-www-form-urlencoded

在发送前编码所有字符(默认)

multipart/form-data

不对字符编码。

在使用包含文件上传控件的表单时,必须使用该值。

text/plain

空格转换为 "+" 加号,但不对特殊字符编码。

 

 

enctype="application/x-www-form-urlencoded"  默认表单的提交方式

  1. 在我们项目中的filupload.jsp中添加如下的代码

   

    <!--  enctype="multipart/form-data" w3cshool查找出来 -->

    <form action="" method="post" enctype="multipart/form-data">

        用户名:<input name="username" type="text"><br>

        文件上传<input type="file" name="file"><br>

        <input type="submit" value="文件提交">

    </form>

 

  1. 在我们的项目中添加一个 resultfile.jsp

添加如下的代码

<!-- 取出用户名和文件名 -->

    用户名:<%=request.getParameter("username")  %>

    文件名:<%=request.getParameter("file") %>

   

测试的结果:用户名:null 文件名:null

也就是说我们进行文件上传时:如果有表单信息,你通过以前的方式你是无法取值的

 

这时我们使用调试浏览器

 

 

 

接下使用我们io流来操作,把数据都读出到页面中

<%

        //得到输入流

        InputStream is = request.getInputStream();

        BufferedReader br =new BufferedReader(new InputStreamReader(is));

        //开始读流

        String buffer=null;

       

        while(null!=(buffer=br.readLine())){

            //输出信息

            out.print(buffer+"<br>");

        }

       

        //

        br.close();

        //关闭流

        is.close();

    %>

 

我们就可以把我们信息全部读出来

 

对于文件上传我们这时需要使用第三方的Jar  apache

http://www.apache.org/在这个网上去找

在页面中找到  Commons 点击进去

FileUpload 进入commons后,找到一个叫做FileUpload

FileUpload点开,找到FileUpload 1.3.2 - 26 May 2016

  • Download the binary and source distributions from a mirror site here

 

Here

下载对应的版本

commons-fileupload-1.3.2-bin.zip

对于我们来讲,文件上传必须使用一个叫做:IO

你还需要下载一个IO包

重新回到与FileUpload同级中

找到IO

Commons IO 2.5 (requires JDK 1.6+)

Commons IO 2.5 is the latest version and requires a minimum of JDK 1.6 - Download now!

commons-io-2.5-bin.zip 下载

 

把你下载的二个Jar解压出来

 

把这二个jar放到我们项目中

 

 

 

正试开始文件上传

 

新建添加与我们刚才fileupload.jsp相同的信息,只是需要修改action

在到我们的项目中创建一个文件夹 upload

 

 

 

 

在我们项目中:如果重新启动服务器后:会发生 我们之前上传的文件会被清空的

 

 

posted @ 2016-12-21 10:19  山沟沟的程序员  阅读(192)  评论(0)    收藏  举报