JSP使用输入流和输出流实现文件上传示例

本文介绍了一个简单的JSP文件上传示例,通过两个JSP页面实现了文件上传功能。首先通过upload.jsp页面收集用户输入的标题及待上传文件,然后利用doUpload.jsp页面中的Java代码完成文件的实际上传操作。
摘要由CSDN通过智能技术生成

以下代码演示了在JSP页面中使用输入流和输出流实现文件上传

1.       创建upload.jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>

<html>

  <head>

    <title>一个简单的文件上传</title>

  </head>

  <body>

    <form action="doUpload.jsp" method="post">

      标题<input type="text" name="title"><br>

      文件位置:<input type="file" name="mfile"><br>

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

    </form>

  </body>

</html>

 

2.    创建doUpload.jsp页面

<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="GBK"%>

<html>

  <head>

    <title>My JSP 'doUpload.jsp' starting page</title>

  </head>

  <body>

    <%

       request.setCharacterEncoding("GBK");

       String title = request.getParameter("title"); //获取页面提交的标题信息

       String myFile = request.getParameter("mfile"); //获取页面提交的文件

       int indexOf = myFile.lastIndexOf("//");  //获取最后一个“/”所在的索引位

       String fileName = myFile.substring(indexOf); //获取文件上传的文件名

     //创建输出流把指定的文件写入WEB工程的upload目录下(需要在WebRoot目录下创建upload目录)

       FileOutputStream fos = new FileOutputStream(request.getRealPath("/upload/"+fileName));

       //创建输入流读取指定文件

       java.io.FileInputStream fis = new java.io.FileInputStream(new java.io.File(myFile));

        byte[] buffer = new byte[1024];

         int len = 0;

         while ((len = fis.read(buffer)) > 0) //循环读取文件到输出流

         {

            fos.write(buffer , 0 , len);   //使用输出流输出文件。

         }

        

         fis.close();

         fos.close();

     %>

    

    <img src="../upload<%=fileName %>"> <!--显示上传图片  -->

  </body>

</html>

 

 

 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值