一、文件的上传
实现步骤
1.要有一个form标签,method=post请求
2.form标签的encType属性值必须为multipart/form-data值
3.form标签中使用input type=file 添加上传文件
4.编写服务器代码接收,处理上传的数据
encType=multipart/form-data表示提交的数据,以多段(每一个表单项一个数据段)的形式进行拼接,然后以二进制流的形式发送给服务器。
java
/**
* @author:Cherry
* @createTime:2021-01-18 19:07
*/
public class UploadServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// System.out.println("文件传输过来了");
//通过流读取
ServletInputStream inputStream = req.getInputStream();
byte[] buf = new byte[1024];
int read = inputStream.read(buf);
System.out.println(new String(buf,0,read));
//解析数据
}
}
jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="http://localhost:8080/file/UploadServlet" method="post" enctype="multipart/form-data">
用户名:<input type="text" name="userName"/><br/>
头像:<input type="file" name="photo"><br>
<input type="submit" value="上传">
</form>
</body>
</html>