gpt4 book ai didi

spring - 内容类型 'multipart/form-data;boundary=----WebKitFormBoundary...' 不支持 Spring

转载 作者:行者123 更新时间:2023-12-03 20:16:54 26 4
gpt4 key购买 nike

Spring 5.0.7:MVC、数据、安全。
我配置multipartResolver .

我发送下一个 Ajax 请求:

$.ajax({
type: 'POST',
cache: false,
processData: false,
contentType: false,
url: '/api/v1/category/add',
data: new FormData(form)
}).done(result=>{console.log(result);}).fail(result=>{
console.error('ERROR:', result.responseJSON.httpStatus, result.responseJSON.message, result);
self.toast.error('API Error.');
});

但是出现错误: Content type 'multipart/form-data;boundary=----WebKitFormBoundary6xBCDjCtYYuUVR5c' not supported
为什么?我不明白为什么会发生错误。

Controller :
@RestController
@Secured("hasRole('ADMIN')")
@RequestMapping(value = "/api/v1")
public class ApiController {

private static final Logger LOGGER = LogManager.getLogger(ApiController.class);

@PostMapping(value = "/category/add", consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
private Response categoryAdd(Response response, @RequestBody CategoryAddForm categoryAddForm) {
LOGGER.info(categoryAddForm.toString());
return response;
}

}

类别添加表格:
public class CategoryAddForm {

private String name;

private String description;

private MultipartFile preview;

public CategoryAddForm() { }

public CategoryAddForm(String name, String description, MultipartFile preview) {
this.name = name;
this.description = description;
this.preview = preview;
}

public String getName() {
return name;
}

public String getDescription() {
return description;
}

public MultipartFile getPreview() {
return preview;
}
}

我不知道还能写什么,但 SO 需要更多的文字。 (

最佳答案

在您的 Controller 中,使用 @RequestParam 而不是 @RequestBody。

有同样的问题,它对我有用。
看到这个 SO answer欲了解更多信息

关于spring - 内容类型 'multipart/form-data;boundary=----WebKitFormBoundary...' 不支持 Spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51337489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com