Java 在春季使用ResponseBody上传图像
我使用此代码上传图像,但我一直得到415不支持的媒体类型Java 在春季使用ResponseBody上传图像,java,spring-mvc,httprequest,Java,Spring Mvc,Httprequest,我使用此代码上传图像,但我一直得到415不支持的媒体类型 @RequestMapping(value = "/updateImage" , method = RequestMethod.POST) public @ResponseBody ResponseMsg uploadFileHandler( @RequestHeader(value="userid" ,required=false) String userid, @Request
@RequestMapping(value = "/updateImage" , method = RequestMethod.POST)
public @ResponseBody ResponseMsg uploadFileHandler(
@RequestHeader(value="userid" ,required=false) String userid,
@RequestHeader(value="name" ,required=false) String name,
@RequestHeader(value="phone" ,required=false) Integer phone,
@RequestBody MultipartFile multipartFile,
HttpServletRequest request) throws IllegalStateException, IOException {
System.out.println("hi");
String orgName = multipartFile.getOriginalFilename();
orgName = CommonUtils.createUniqueFileName(orgName);
ServletContext sc = request.getSession().getServletContext();
String filePath = "uploadedImages/" + orgName;
String completePath = sc.getRealPath("/") + "/" + filePath;
File dest = new File(completePath);
multipartFile.transferTo(dest);
ResponseMsg responseMsg = CommonUtils.checkParam(userid, name, phone,filePath);
if (responseMsg.getStatus().equalsIgnoreCase("True"))
responseMsg = userService.updateProfile(userid, name, phone,filePath);
return responseMsg;
}
- 你有没有在你的应用程序上下文中找到一个新的上下文,例如:
- 您是否有将HTTP请求正文转换为多部分文件的方法?默认情况下,Spring不附带此功能。阅读
- 在我看来,与其映射整个HTTP请求(例如:
),不如只映射特定的表单字段,例如:@RequestBody MultipartFile MultipartFile
,这是假设您在html表单中使用文件选择,例如:@RequestParam('someFileUpload')MultipartFile uploadedFile
<beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
内部控制器
public void method(@RequestParam MultipartFile file){..}您能将html表单代码粘贴到这里吗?请确保将
enctype=“multipart/form data”method=“post”
放在表单标记的属性列表上。请检查它的olready post