Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法将字符串转换为多部分文件_Java_Spring Boot_Freemarker - Fatal编程技术网

Java 无法将字符串转换为多部分文件

Java 无法将字符串转换为多部分文件,java,spring-boot,freemarker,Java,Spring Boot,Freemarker,请帮我解决我的问题! 我有引导文件输入,包括以下文件: <link href="/assets/css/fileinput/fileinput.css" rel="stylesheet" type="text/css"> <link href="/assets/css/fileinput/fileinput-rtl.css" rel="stylesheet" type="text/css"> <script type="text/javascript" sr

请帮我解决我的问题! 我有引导文件输入,包括以下文件:

    <link href="/assets/css/fileinput/fileinput.css" rel="stylesheet" type="text/css">
<link href="/assets/css/fileinput/fileinput-rtl.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="/assets/js/fileinput/fileinput.js"></script>
<script type="text/javascript" src="/assets/js/plugins/fileinput/piexif.js"></script>
<script type="text/javascript" src="/assets/js/plugins/fileinput/sortable.js"></script>
<script type="text/javascript" src="/assets/js/plugins/fileinput/purify.js"></script>
但是当@PostMapping执行时,我在这一部分中遇到了一个错误:

if (bindingResult.hasErrors())
            return new ModelAndView("incident-rovd/create")
                    .addObject("typeIncident1", incidentTypeLevel1Repository.findAll())
                    .addObject("typeIncident2", form.getIncidentTypeLevel1() == null ? Collections.emptyList() : incidentTypeLevel2Repository.findAllByParent(form.getIncidentTypeLevel1()))
                    .addObject("typeIncident3", form.getIncidentTypeLevel2() == null ? Collections.emptyList() : incidentTypeLevel3Repository.findAllByParent(form.getIncidentTypeLevel2()))
                    .addObject("incidentRovdCreateForm", form);
错误: 无法将类型为“java.lang.String”的属性值转换为属性“attachment”所需的类型“org.springframework.web.multipart.MultipartFile”;嵌套异常为java.lang.IllegalStateException:无法将类型为“java.lang.String”的值转换为属性“附件”所需的类型“org.springframework.web.multipart.MultipartFile”:找不到匹配的编辑器或转换策略


我会遇到什么问题?

我遇到了与前端相同的HTML+JavaScript问题。如果不需要bean的file属性,以下内容可能会帮助您:

// js
var formData = new FormData(document.getElementById("yourFormId"));

//TestBean.java    
@Transient
private MultipartFile file;

此方法避免了“无法将字符串转换为多部分文件”错误。

标记中缺少enctype=“multipart/form data”。我尝试添加此标记。也发现了这些主题,但没有帮助,因此提出了新问题)
private MultipartFile attachment;
if (bindingResult.hasErrors())
            return new ModelAndView("incident-rovd/create")
                    .addObject("typeIncident1", incidentTypeLevel1Repository.findAll())
                    .addObject("typeIncident2", form.getIncidentTypeLevel1() == null ? Collections.emptyList() : incidentTypeLevel2Repository.findAllByParent(form.getIncidentTypeLevel1()))
                    .addObject("typeIncident3", form.getIncidentTypeLevel2() == null ? Collections.emptyList() : incidentTypeLevel3Repository.findAllByParent(form.getIncidentTypeLevel2()))
                    .addObject("incidentRovdCreateForm", form);
// js
var formData = new FormData(document.getElementById("yourFormId"));

//TestBean.java    
@Transient
private MultipartFile file;