当前位置: 首页 > 知识库问答 >
问题:

可选的MultipartFile不与HtmlUnit一起工作

仉昂熙
2023-03-14

我有一个使用Thymeleaf的工作spring boot 2.3.0应用程序

我有一个表单,它有一个,相应的表单数据对象的Java值为:

public class UserFormData {
  private MultipartFile avatarFile;

  // getters and setters
}

我的

enctype=“multipart/form-data”。在实际应用中一切都运行良好。

但是,当运行一个HtmlUnit测试时,我得到:

字段“avatar file”上的对象“user”中的字段错误:拒绝值[];代码[TypeMismatch.user.AvatarFile,TypeMismatch.AvatarFile,TypeMismatch.org.SpringFramework.web.MultiPart.MultiPartFile,TypeMismatch];参数[org.springframework.context.support.defaultmessageSourceResolvable:代码[user.avatarFile,avatarFile];参数[];默认消息[avatarFile]];默认消息[无法将“java.lang.String”类型的属性值转换为属性“Avatar File”的必需类型“org.springframework.web.multipart.multipartFile”;嵌套异常为java.lang.IllegalStateException:无法将“java.lang.String”类型的值转换为属性“Avatar File”的必需类型“org.springframework.web.multipart.multipartFile”:找不到匹配的编辑器或转换策略]

测试使用@webmvctest启动测试的spring上下文。

共有1个答案

史修谨
2023-03-14

模拟像https://github.com/spring-projects/-mvc-showcase/blob/master/src/test/Java/org/springframework/samples/mvc/fileupload/fileuploadcontrollertests.Java这样的多部分文件,使类型不会不匹配。

 类似资料:
  • 错误:org.apache.hive.service.cli.hivesqlexception:处理语句时出错:失败:执行错误,从org.apache.hive.service.cli.operation.operation.toSqlexception(operation.java:380)(org.apache.hive.service.cli.operation.sqloperation.r

  • 我想从Spring Boot应用程序创建一个war文件,我可以将其部署到独立的Tomcat容器中,而不是使用嵌入式容器。 我可以创建war文件,并使用单独运行它,它工作得很好。 我使用(使用Gradle、Tomcat7、Java1.7)构建了应用程序。 但当我将war文件部署到独立的Tomcat并启动它时,根据日志显示,应用程序似乎没有错误地启动,但我无法访问任何资源,控制器URL也无法工作。 当

  • 3)使用REST客户端 将response_resclient.code 对于1和2,两者都是正确的。它们都返回状态201,登录成功,但使用3-REST_Client失败。状态为404 REST_Client: 对于Rest-client gem,它在向mysite.vn发送post请求后返回404错误,代码为443。我对这个案子没有理想。请你帮我解释一下这个案子好吗。如何用REST客户端纠正这个

  • 我注意到我的机器人没有设置RichPresence,就像我今天看它一样。我最后一次检查它是在星期三,代码也在那里工作。所以我今天再次执行它,并且RichPresence没有像往常一样重新设置。现在我认为不和谐会改变它的界面。 现在,我在我的项目中使用了最新的JDA版本,并对代码进行了修改,使数据对象成为JSONObject,但它仍然无法工作。作为第二个,我试图使我的“Spielst”对象成为Ric

  • 根据它的Javadoc,将生成,其中的第一个值是subscribe和第一个next信号之间的经过时间。 以下测试不起作用 它将抛出异常: 我原以为经过的时间至少是1000ms,但结果只有11ms。

  • 在我的Laravel应用程序中,我需要定期使用Guzzle将数据发送到API。 API使用承载令牌进行身份验证,并请求和接受原始JSON。为了进行测试,我使用Postman访问了API,一切都工作得很好。