我试图使用RequestMethod.PUT和RequestMethod.DELETESpring MVC中控制器(3.0.2版).在Spring控制器类中有三个映射方法的方法如下(分别为PUT,GET和POST,仅用于演示目的).
@RequestMapping(method = {RequestMethod.PUT}, value = {"admin_side/Temp"}, headers = {"content-type=multipart/form-data"})
public String update(@ModelAttribute("tempBean") TempBean tempBean, BindingResult error, Map model, HttpServletRequest request, HttpServletResponse response) {
if (ServletFileUpload.isMultipartContent(request)) {
System.out.println("true");
}
System.out.println("Request method PUT");
return "admin_side/Temp";
}
@RequestMapping(method = {RequestMethod.GET}, value = {"admin_side/Temp"})
public String showForm(@ModelAttribute("tempBean") TempBean tempBean, BindingResult error, Map model, HttpServletRequest request, HttpServletResponse response) {
System.out.println("Request method GET");
return "admin_side/Temp";
}
@RequestMapping(method = {RequestMethod.POST}, value = {"admin_side/Temp"})
public String onSubmit(@ModelAttribute("tempBean") TempBean tempBean, BindingResult error, Map …Run Code Online (Sandbox Code Playgroud) 是的,我们的客户想要上传多个文件.我们使用春天3 mvc.像这样的官方例子:
标记:
<form method="post" action="/form" enctype="multipart/form-data">
<input type="text" name="name"/>
<input type="file" name="file"/>
<input type="submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)
码:
@RequestMapping(value = "/form", method = RequestMethod.POST)
public String handleFormUpload(@RequestParam("name") String name,
@RequestParam("file") MultipartFile file) {
if (!file.isEmpty()) {
byte[] bytes = file.getBytes();
// store the bytes somewhere
return "redirect:uploadSuccess";
} else {
return "redirect:uploadFailure";
}
}
Run Code Online (Sandbox Code Playgroud)
只有一个文件,所以我可以在方法中写入文件输入名称.但如果我想上传很多文件,我该怎么办?我无法写入所有文件输入名称,因为如果是由js代码生成的.我只知道它的名字就像'attach_'那样,我应该在方法中写什么?如果我这样写
@RequestParam() MultipartFile file
Run Code Online (Sandbox Code Playgroud)
要么
@RequestParam("attach_") MultipartFile file
Run Code Online (Sandbox Code Playgroud)
我会收到一个错误.