gpt4 book ai didi

java - Spring Boot 多部分文件上传作为 json 正文的一部分

转载 作者:太空狗 更新时间:2023-10-29 23:04:15 25 4
gpt4 key购买 nike

我想知道是否可以有一个可以接受包含多部分文件和其他数据的 json 有效载荷的 post 端点。例如我的 body 对象看起来像:

public class Bio {
private Long id;
private String firstName;
private MultipartFile imageFile;
}

一个单独但相关的问题是,在上传文件的 springboot 文档示例中,https://spring.io/guides/gs/uploading-files/ ,文件是请求路径的一部分,而不是负载。这对我来说似乎很奇怪,所以有没有办法让文件绑定(bind)到请求正文?

最佳答案

我过去这样做的方法是上传两个单独的部分,一个用于文件,一个用于随附的 JSON。您的 Controller 方法看起来像这样:

public void create(@RequestPart("foo") Foo foo,
@RequestPart("image") MultipartFile image)
// …
}

然后它会处理看起来像这样的请求:

Content-Type: multipart/mixed; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name="foo"
Content-Type: application/json;charset=UTF-8
{"a":"alpha","b":"bravo"}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name="image"; filename="foo.png"
Content-Type: application/octet-stream
Content-Length: 734003
<binary data>
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--

关于java - Spring Boot 多部分文件上传作为 json 正文的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28179251/

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