requestpart和requestparam都是Spring MVC框架中用于接收HTTP请求参数的注解。
requestpart注解用于接收HTTP请求中的文件参数,通常用于文件上传功能。使用该注解时,需要在方法参数中声明MultipartFile类型的参数,Spring MVC框架会自动将上传的文件转换为MultipartFile类型的对象。
requestparam注解用于接收HTTP请求中的普通参数,如表单提交的文本参数。使用该注解时,需要在方法参数中声明与请求参数同名的参数,并可以通过该注解的value属性指定请求参数的名称。如果请求参数与方法参数名称不一致,也可以通过该注解的name属性指定请求参数的名称。
总之,requestpart和requestparam都是Spring MVC框架中用于接收HTTP请求参数的注解,但是requestpart用于接收文件参数,requestparam用于接收普通参数。
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<form action="http://127.0.0.1:8000/product/minioUpload" method="post" enctype="multipart/form-data">
头像:<input name="avatar" type="file"><br>
生活照:<input name="life" type="file"><br>
工作照:<input name="work" type="file"><br>
<input type="submit" value="上传">
form>
@RestController
@RequestMapping("/product")
public class MinioController {
@PostMapping("minioUpload1")
public RetVal minioUpload1(@RequestPart("avatar") MultipartFile avatar,
@RequestPart("life") MultipartFile life,
@RequestPart("work") MultipartFile work){
return RetVal.ok();
}
<form action="http://127.0.0.1:8000/product/minioUpload" method="post" enctype="multipart/form-data">
头像:<input name="avatar" type="file"><br>
生活照:<input name="life" type="file" multiple><br>
<input type="submit" value="上传">
form>
使用multiple对于一个文件域,上传多个文件时,后端使用数组去接收处理。
@PostMapping("minioUpload2")
public RetVal minioUpload2(@RequestPart("avatar") MultipartFile avatar,
@RequestPart("life") MultipartFile[] life){
return RetVal.ok();
}
上传一个图片和一个文本域
<form action="http://127.0.0.1:8000/product/minioUpload" method="post" enctype="multipart/form-data">
头像:<input name="avatar" type="file"><br>
生活照描述:<input name="lifeInfo" type="text"><br>
<input type="submit" value="上传">
form>
使用@RequestParam(“与前端属性名相同”)获取表单提交的文本参数。
@PostMapping("minioUpload3")
public RetVal minioUpload3(@RequestPart("avatar") MultipartFile avatar,
@RequestParam("lifeInfo") String lifeInfo){
return RetVal.ok();
上传多个属性名相同的文件。
<form action="http://127.0.0.1:8000/product/minioUpload" method="post" enctype="multipart/form-data">
头像:<input name="avatar" type="file"><br>
生活照:<input name="avatar" type="file"><br>
<input type="submit" value="上传">
form>
body>
html>
使用@RequestPart(“文件属性名”) 使用MultipartFile[] 去接收。
@PostMapping("minioUpload")
public RetVal minioUpload(@RequestPart("avatar") MultipartFile[] avatar){
return RetVal.ok();
}
}