JavaWeb文件上传(1)--基础
1.JSP提供可以浏览文件的表单
代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="uploadServlet" method="post">
File:<input type="file" name="file">
<input type="submit" value="submit">
</form>
</body>
</html>
运行结果
重点在<input type=“file” name=“file”>,同时,提交方式注意选择post,因为上传的文件可能很大,get方式不支持很大的文件。
2.设置编码方式–enctype="multipart/form-data
表单默认的编码方式是application/x-www-form-urlencoded,这种编码使用有限的字符集,当使用了非字母和数字时,还要用“%HH”代替。对于大容量二进制数据或包含在ASCII字符的文本来说,不能满足要求。
所以我们需要修改编码方式为
<form action="uploadServlet" method="post" enctype="multipart/form-data">
3.获取请求信息
- 以request.getParameter()等方式获取请求信息,失败,因为编码方式已经改变乘以二进制的方式来提交信息。
- 以输入流获取信息会怎么样?
可以读取到信息,但是是流的方式。需要自己处理。不建议这么做。 - 使用commons-fileupload组件来完成文件的上传。