我正在寻找一个解决方案,我可以同时发送一个csv文件和其他数据(Angular )到Sping Boot 后端。在我的情况下,我不能使用FormData,因为我需要发送的数据不仅是字符串(数据是异构的),所以我的DTO在前面看起来像下面的东西:
export class example {
id: number;
addresses?:string[];
status :string;
createdBy?: string;
createdDate?: Date;
collections : int[]
addressesDocument: File; // <------- file i need to send to the backend
}
在后端,我创建了一个类似的DTO,其中包含MultipartFile作为文件类型,但总是出现异常
@PostMapping("/examples")
public void createExample(@Valid @RequestBody ExampleDTO example) throws URISyntaxException, FileNotFoundException {
System.out.println(exampleDTO.getfile());
exampleService.create(example);
}
在同一API中发送文件沿着其他潜水员数据的最佳解决方案是什么???
1条答案
按热度按时间olmpazwi1#
你不能把文件作为json-object的一部分发送,正如你的sample-code所指出的,尽管可以使用内容类型
multipart/form-data
,然后分别把文件和其余数据附加到FormData
中。Angular-frontend中的Post-request将如下所示: