如何处理一次Response包含不同类型的数据?

希望一次response的body中能够同时包括string、二进制文件这样不同类型的数据,可以像request一样使用multipart/form-data吗?目前搜索的结果看没有前端解析multipart/form-data格式的工具,或者使用其他的方法?
目前思路:
1.使用json,将二进制文件编码为base64
2.使用json,二进制文件提供服务器静态路径,需要前端get静态资源
3.使用multipart/form-data,但是找不到前端解析form-data的工具
软件信息:
前端:vue+axios,后端:flask或者springboot
用什么方法解决这样的问题呢?

是我的话,我就要后端把这个接口分为两个接口,一个给JSON数据,一个给二进制数据。。。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:http post 使用multipart/form-data 格式数据 上传文件(图片)
  • 除此之外, 这篇博客: requests中post参数data和json区别中的 multipart/form-data 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    这个是通过浏览器上传文件时所用的编码方式,在使用浏览器上传文件时,须将 form 表单的 enctype 字段设置为 multipart/form-data

    这种编码方式的请求体比较长,因为包含了文件数据,通过 boundary 来分割不同字段的数据。

    关于此类表单的详细信息可以查看

    rfc1867。
    POST http://httpbin.org HTTP/1.1
    Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryrGKCBY7qhFd3TrwA
    
    ------WebKitFormBoundaryrGKCBY7qhFd3TrwA
    Content-Disposition: form-data; name="text"
    
    text
    ------WebKitFormBoundaryrGKCBY7qhFd3TrwA
    Content-Disposition: form-data; name="file"; filename="111.jpg"
    Content-Type: image/png
    
    PNG ... content of 111.jpg ... ... ... ... ...
    ------WebKitFormBoundaryrGKCBY7qhFd3TrwA--
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^