一、文件的上传

实现步骤

1.要有一个form标签,method=post请求
2.form标签的encType属性值必须为multipart/form-data值
3.form标签中使用input type=file 添加上传文件
4.编写服务器代码接收,处理上传的数据

encType=multipart/form-data表示提交的数据,以多段(每一个表单项一个数据段)的形式进行拼接,然后以二进制流的形式发送给服务器。

java

  1. /**
  2. * @author:Cherry
  3. * @createTime:2021-01-18 19:07
  4. */
  5. public class UploadServlet extends HttpServlet {
  6. @Override
  7. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  8. // System.out.println("文件传输过来了");
  9. //通过流读取
  10. ServletInputStream inputStream = req.getInputStream();
  11. byte[] buf = new byte[1024];
  12. int read = inputStream.read(buf);
  13. System.out.println(new String(buf,0,read));
  14. //解析数据
  15. }
  16. }

jsp

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>Title</title>
  5. </head>
  6. <body>
  7. <form action="http://localhost:8080/file/UploadServlet" method="post" enctype="multipart/form-data">
  8. 用户名:<input type="text" name="userName"/><br/>
  9. 头像:<input type="file" name="photo"><br>
  10. <input type="submit" value="上传">
  11. </form>
  12. </body>
  13. </html>

二、文件的下载

文件下载.png