做项目前端需要传照片给后端,但是报错如下:
控制台:2022-06-05 15:38:13,755 - Resolved [org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors<EOL>Field error in object 'cemSettingVenueInteracts' on field 'interactPic': rejected value [org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile@2a72faf4]; codes [typeMismatch.cemSettingVenueInteracts.interactPic,typeMismatch.interactPic,typeMismatch.java.lang.String,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [cemSettingVenueInteracts.interactPic,interactPic]; arguments []; default message [interactPic]]; default message [Failed to convert property value of type 'org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile' to required type 'java.lang.String' for property 'interactPic'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile' to required type 'java.lang.String' for property 'interactPic': no matching editors or conversion strategy found]]
图片:
看了很多博客,大部分说报错是因为类型转换错误,和接收的参数类型不对,但是这两个都不太符合我这个。后来看到看到控制台报错的参数名和我实体类字段一样,想着是不是名字冲突,修改后果然好了。
总结:接收文件的参数名和实体类字段名一样导致冲突,修改参数名即可。