JSP文件上传

朱雀 2020-10-05 15:43 2351阅读 0赞

JSP 提供了上传和下载的功能,用户釆用此功能,可以轻松实现文件的传输。下面介绍文件上传与下载的操作。

用户通过一个 JSP 页面上传文件给服务器时,该 JSP 页面必须含有 File 类型的表单, 并且表单必须将 enctype 的属性值设置为 multipart/form-data。File 类型表单如下:

  1. <form action="接受上传文件的页面" method="post" enctype="multipart/form-data">
  2. <input type="File" name="picture">
  3. </form>

JSP 引擎可以让内置对象 request 调用方法 getInputStream() 获得一个输入流,通过这输入流读入用户上传的全部信息,包括文件的内容以及表单域的信息。

【例1】用户通过 9-9.jsp 页面上传文本文件 a.txt。request 获得一个输入流读取用户上传的全部信息,包括表单的头信息以及上传文件的内容;如何去掉表单的信息以及获取文件的内容。

在 accept.jsp 页面,内置对象 request 调用方法 getInputStream() 获得一个输入流 in,用 FileOutputStream 类再创建一个输出流 o。输入流 in 读取用户上传的信息,输出流 o 将读取的信息写入文件 B.txt。用户上传的全部信息,包括文件 a.txt 的内容以及表单域的信息存放于服务器的 C:/1000 目录下的 B.txt 文件中。文件 B.txt 的前 4 行(包括一个空行)以及倒数 5 行(包括一个空行)是表单域的内容,中间部分是上传文件 a.txt 的内容。

9-9.jsp 的代码如下:

  1. <%@page contentType="text/html;charset=utf-8"%>
  2. <html>
  3. <body>
  4. <P>选择要上传的文件:<br>
  5. <form action="accept.jsp" method="post" engtype="multipart/form-data">
  6. <input type=File name="boy" size="38">
  7. <br>
  8. <input type="submit" name="g" value="提交">
  9. </form>
  10. </body>
  11. </html>

accept.jsp 的代码如下:

  1. <%@page contentType="text/html;charset=utf-8" %>
  2. <%@page import="java.io.*" %>
  3. <html>
  4. <body>
  5. <%
  6. try
  7. {
  8. InputStream in=request.getInputStream();
  9. File dir=new File("D:/l000");
  10. dir.mkdir();
  11. File f=new File(dir,"B.txt");
  12. FileOutputStream o=new FileOutputStream(f);
  13. byte b[]=new byte[1000];
  14. int n;
  15. while((n=in.read(b))!=-1)
  16. o.write(b,0,n);
  17. in.close();
  18. out.print ("文件已上传");
  19. }
  20. catch(IOException e)
  21. {
  22. out.print("上传失败"+e);
  23. }
  24. %>
  25. </body>
  26. </html>

B.txt、9-9.jsp 和 accept.jsp 的运行效果如图 1 所示。

(a) B.txt 的内容
a) B.txt 的内容

(b) 9-9.jsp 的运行结果
b) 9-9.jsp 的运行结果

(c) accept.jsp 的运行结果
c) accept.jsp 的运行结果

图1 运行结果

发表评论

表情:
评论列表 (有 0 条评论,2351人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JSP文件

    JSP 提供了上传和下载的功能,用户釆用此功能,可以轻松实现文件的传输。下面介绍文件上传与下载的操作。 用户通过一个 JSP 页面上传文件给服务器时,该 JSP 页面必须含有

    相关 JSP 文件

    JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器。上传的文件可以是文本文件或图像文件或任何文档。 本章节我们使用 Servlet 来处理文件上传,

    相关 JSP文件

    无组件文件上传 如果要把一个文件从客户端上传到服务器端,需要在客户端和服务器端建立一个通道传递文件的字节流,并在服务器上进行上传操作。这里通常要用到两个JSP页面,第一个J

    相关 JSP 文件

    JSP 文件上传 JSP可以通过HTML的form表单上传文件到服务器。 文件类型可以是文本文件、二进制文件、图像文件等其他任何文档。 ----------------

    相关 JSP文件

    JSP 提供了上传和下载的功能,用户釆用此功能,可以轻松实现文件的传输。下面介绍文件上传与下载的操作。 用户通过一个 JSP 页面上传文件给服务器时,该 JSP 页面必须...