Spring Boot接收Ajax发送的表单数据时缺少文件

时间:2018-09-05 08:31:39

标签: ajax spring-boot

我需要将html表单发送到springboot应用程序。在提交之前对表单进行了操作,因此我使用ajax请求手动提交:

$.ajax({
    method: 'POST',
    processData: false,
    contentType: false,
    url: form_submit_url,
    data: formData
});

我检查了formData以确保它包含所有表单值,包括文件。

以下代码适用于文件以外的所有表单项。检查 functionRequest 显示文件参数丢失。

@PostMapping(
    value = "form_submit_url",
    consumes = {
        MediaType.MULTIPART_FORM_DATA_VALUE
    },
    produces = MediaType.APPLICATION_JSON_VALUE
)
@ResponseStatus(HttpStatus.ACCEPTED)
public FunctionResult executeFunction(
    final @RequestParam MultiValueMap<String, Object> functionRequest
) {
    return null;
}

使用MultiValueMap,因为接收到的参数可能会有所不同。

使用MultiValueMap时是否可以接收文件以及其他参数?否则还有其他选择吗?

0 个答案:

没有答案