请选择 进入手机版 | 继续访问电脑版

java web文件上传——FileUpload

[复制链接]
发表于 2019-10-8 10:44:29 |显示全部楼层
文件上传分析

一:   普通表单提交默认enctype="application/x-www-form-urlencoded";但是当表单中存在文件类型时,需要设置enctype="multipart/form-data",它不对字符进行编码,用于发送二进制的文件(即所有文件类型,如视频、图片、音乐、文档都可以用此类型entype);还有一种enctype="text/plain"用于发送纯文本内容。
二:   表单请求方式必须为post。
三:   接收时不能再用request.getParameter(),而是request.getInputStream()解析二进制流,得到ServletInputStream对象

代码实例:

表单:

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>

  3. <head>
  4.     <title>练习</title>
  5. </head>
  6. <body>
  7. <form action="/UploadServlet" enctype="multipart/form-data" method="post">
  8.     <input type="text" name="username">
  9.     <input type="password" name="pwd">
  10.     <input type="file" name="pic">
  11.     <input type="submit">
  12. </form>

  13. </body>
  14. </html
复制代码


houduan
  1. import javax.servlet.ServletException;
  2. import javax.servlet.annotation.WebServlet;
  3. import javax.servlet.http.HttpServlet;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.servlet.http.HttpServletResponse;
  6. import java.io.IOException;
  7. import java.io.InputStream;

  8. @WebServlet("/UploadServlet")
  9. public class UploadServlet extends HttpServlet {
  10.     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  11.         //获取复杂表单的输入流
  12.         InputStream in=request.getInputStream();

  13.         //输入流转化为字符串
  14.         byte[] b=new byte[1024];
  15.         in.read(b);
  16.         System.out.println(new String(b));
  17.     }

  18.     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  19.         doPost(request,response);
  20.     }
  21. }
复制代码



ddd








http://xuejava.org/thread-508-1-1.html

https://blog.csdn.net/linghuainian/article/details/82253247
您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|沙漏笔记

GMT+8, 2019-11-18 02:09 , Processed in 0.123131 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Copyright © 2015-2018 xuejava网 / 鲁ICP备17054568号-1
回顶部