java - 无法将 StandardMultipartHttpServletRequest$StandardMultipartFile 类型的值转换为所需的类型 java.lang.String
问题描述
我有一个可以上传文件的简单表格,它是控制器,为了安全起见,我决定实施 PRG 模式,但现在我的 cod 不起作用。
@PostMapping("/books")
public String add(@Valid @ModelAttribute("book") Book book, HttpServletResponse response,RedirectAttributes redirectAttributes, BindingResult result, @RequestParam(value = "photo", required = false) MultipartFile photo, Model forExc, @RequestParam(value = "valute") String valute) {
if (result.hasErrors()) return "addBook";
if (!photo.isEmpty()) {
try {
validateImg(photo);
} catch (IOException ex) {
result.reject("uk_UA", "Поганий тип");
return "addBook";
}
}
redirectAttributes.addFlashAttribute("book",book);
redirectAttributes.addAttribute("photo", photo);
redirectAttributes.addAttribute("valute", valute);
redirectAttributes.addFlashAttribute( "success",true);
return "redirect:/valid";
}
@GetMapping("/valid")
public String validations(HttpServletRequest request,Model model, @ModelAttribute("success") boolean success, @ModelAttribute("book") Book book, @RequestParam("valute") String valute, @RequestParam(value = "photo",required = false) MultipartFile photo) {
if (success) {
StringBuilder builder = new StringBuilder();
builder.append(service.download(photo));
Logger.getAnonymousLogger().info("SOMETHING HAS BROKEN IN LOGGING FILE");
System.out.println("INSIDE ADD METHOD ");
book.setFileId(builder.toString());
service.add(book);
return "redirect:/books";
} else {
return "redirect:/index.jsp";
}
}
当我添加一本书时,我得到了这个例外:
org.springframework.beans.ConversionNotSupportedException: Failed to convert value of type 'org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile' to required type 'java.lang.String'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile' to required type 'java.lang.String': no matching editors or conversion strategy found
解决方案
推荐阅读
- database - 弱实体主键
- .net - 更改组合框自动完成下拉列表的颜色
- ios - 有没有更实用的方法将数组重新排列成字典
- makefile - Makefile : 无关的隐式目标文件
- javascript - 基本 JavaScript 幻灯片说明
- c# - 覆盖当不可为空的值为空时触发的默认验证
- jekyll - 如何全局设置 Jekyll 站点中的所有 URL 以在新的浏览器选项卡中打开?
- svelte - 我可以在 HTML 页面上有多个 Svelte 组件吗?
- xcode - 使用情节提要时反应本机应用程序黑屏
- openssl - netty-tcnative-openssl-static-2.0.28.Final-windows-x86_64.jar 动态链接到 openssl