-
注解
SpringMvc
获取请求头(放在方法参数中)
@RequestHeader
value 请求头的名称
required 是否必须含有该请求头
获取cookie
@Cookievalue
value cookie名称
required -
文件上传案例
- 三要素
- 表单项type
- 提交方式
- enctype属性是多部份表单形式 , enctype=“mutipart/form-data”
件上传主要使用了MultipartFile类,springMVC以及帮我们将长传的文件封装到该类中,只需要获取该类的方法去获取文件名称和转换文件存储即可。
单文件上传
//单文件上传
//多文件上传只需要把参数改成数组形式,并对数组进行遍历
//file名称要跟表单的input 的name相同
//@RequestParam("file")注解要求请求需要携带file参数,否则请求失败,同时file要与MultipartFile的参数名相同
@PostMapping("/upload")
public void upload(HttpServletRequest request,
@RequestParam("file") MultipartFile file) throws IllegalStateException, IOException {
System.out.println(file.getOriginalFilename());
System.out.println(request.getContextPath());
String pathString=new String("src/main/resources/static/");
File file2=new File(pathString+file.getOriginalFilename());
System.out.println(file2.getAbsolutePath());
//将文件保存你到file2中
//需要获取绝对路径
file.transferTo(file2.getAbsoluteFile());
//下面是根据类路径来保存
//
// System.out.println(hello.class.getResource(""));
// file.transferTo(new File(hello.class.getResource("").toString().substring(6)+file.getOriginalFilename()));
//
}
多文件上传
//多文件上传
@PostMapping("/upload")
public void upload(HttpServletRequest request,
@RequestParam("file") MultipartFile[] file) throws IllegalStateException, IOException {
File file2=null;
for (MultipartFile multipartFile : file) {
String pathString=new String("src/main/resources/static/");
file2=new File(pathString+multipartFile.getOriginalFilename());
multipartFile.transferTo(file2.getAbsoluteFile());
}
form 表单enctype设置为"multipart/form-data“后request.getParameter将会无法使用
<html>
<head></head>
<body>
<!-- form 表单method="post" enctype="multipart/form-data -->
<form action="/upload" method="post" enctype="multipart/form-data">
<input name="file" type="file">
<input name="file" type="file">
<input name="file" type="file">
<input name="file" type="file">
<input type="submit">
</form>
</body>
</html>