我正在使用Thymeleaftry 同时上传图像和图片,但当我try 时,它会导致:

"不支持已解析的[org.springframework.web.HttpMediaTypeNotSupportedException:内容类型‘应用程序/x-www-Form-urlencode’]"

Thymeleaf的实现如下:

<form id="application" th:action="@{/admin/newapplication}" th:object="${application}" method="post">
    <h1>Add Application</h1>
    <div class="input">
        <input type="text" name="applicationName" placeholder="Application Name" required>
        <i class='bx bxs-user'></i>
    </div>
    <div class="input">
        <input type="text" name="password" placeholder="Password to access application" required>
        <i class='bx bxs-lock-alt' ></i>
    </div>
    <input type="file" name="imageFile" accept="image/x-png,image/jpeg,image/jpg"/>
    <div class="input">
        <select name="applicationType" id="Application Type">
            <option value="admin">Navigation</option>
            <option value="user">Waste Management</option>
            <option value="user">Energy Consumption</option>
        </select>
    </div>

    <button type="submit" class="btn">Register Application</button>
</form>

在控制器中,它看起来像这样:

@PostMapping(value = "/newapplication", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public String addApplication(@ModelAttribute Application application, @RequestParam(value = "file",required = false) MultipartFile file) throws IOException {
    applicationRepository.save(application);
    fileService.uploadImage(file.getOriginalFilename(),file);
    return "addApplication";
}

我try 了在IntelliJ中进行调试,但由于在胸腺叶端的初始上传过程中出现错误,此方法从未达到.

推荐答案

在你的胸腺叶模板中使用enctype="multipart/form-data".

<form id="application" th:action="@{/admin/newapplication}" th:object="${application}" method="post" enctype="multipart/form-data">

因为这是您的控制器期望接收的内容

@PostMapping(value = "/newapplication", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)

Otherwise您可以保持胸腺叶模板不变,但更新您的控制器以期待application/x-www-form-urlencoded

@PostMapping(value = "/newapplication", consumes = MediaType.APPLICATION_FORM_URLENCODED)

Java相关问答推荐

在Spring Boot中测试时出现SQL语法错误

那么比较似乎不是词典学的,尽管doctor 这么说

伪类focus-in不适用于PFA中的选项卡

Spring boot:Bean和动态扩展器

在Java中,如何按一个属性升序,然后按另一个属性降序对对象列表进行排序?

如何使用SpringBoot中的可分页对整数作为字符串存储在数据库中时进行排序

Com.google.firebase.database.DatabaseException:无法将类型为java.lang.Boolean的值转换为字符串.这是关于什么的?

将响应转换为带值的键

使用UTC时区将startDatetime转换为本地时间

使用OAuth 2.0资源服务器JWT时的授权(授权)问题

如何为JavaFX Spring Boot应用程序制作Windows/MacOS/Linux安装程序

由于在生成器模式中使用泛型,lambda表达式中的返回类型错误

是否为计划任务补偿系统睡眠?

根本不显示JavaFX阿拉伯字母

错误:未找到扩展元素在JBossEAP 7.2中安装FUSE时出错

如何配置空手道以使用FeignClient或RestTemplate代替ApacheHttpClient

Java组件项目中的JavaFX对话框国际化

Java在操作多个属性和锁定锁对象时使用同步和易失性

处理4.3问题:javax.xml.ind包不存在(&Q;).您可能在学习GitHub教程时遗漏了库.&Q

错误:JOIN/ON的参数必须是boolean类型,而不是bigint类型.Java Spring启动应用程序