我需要将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时是否可以接收文件以及其他参数?否则还有其他选择吗?