文件上传
1、文件上传客户端三要素
表单项Type=“file”
表单项提交方式是POST
表单的enctype属性是多部分表单形式,及enctype=“multipart/form-data”
2、文件上传原理
当form表单修改为多部分表单时,Request.getParameter()将失效
enctype=“application/x*www*form-urlencoded”时,form表单的正文内容格式是:key=value&key=value&key=value
当form表单的enctpe取值为Mutilpart/form-data时,请求正文内容就变成多部分形式
3、单文件上传步骤
导入fileupload和io坐标
配置文件上传解析器
编写文件上传代码
@RequestMapping("/quick")
@ResponseBody
public void save(String username, MultipartFile uploadFile) throws IOException {
System.out.println(username);
String filename = uploadFile.getOriginalFilename();
uploadFile.transferTo(new File("D:\\AAAAA\\abc\\"+filename));
}
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"></property>
<property name="maxInMemorySize" value="500000000"></property>
</bean>
<body>
<form action="${pageContext.request.contextPath}/user/quick" method="post" enctype="multipart/form-data">
名称<input type="text" name="username"><br/>
文件<input type="file" name="uploadFile"><br/>
<input type="submit" name="upload">
</form>
</body>
Spring获取请求数据
知识要点:
MVC实现数据请求方式
基本数据类型
POJO数据类型
数组类型参数
集合类型参数
MVC获取数据细节
中文乱码问题
@ResquestParam和@PathVariable
自定义类型转换器
获得Servlet相关API
@ResquestHeader和@CookieValue
文件上传