繁体   English   中英

如何使用多部分/表单数据?

[英]How can I use multipart/form-data?

我需要实现一个 REST-Endpoint,它接收 multipart/form-data
我用
- 弹簧靴
- 科特林
- 春季MVC

多部分表单提交包含以下部分:

部署名称 ----- 文本/纯文本
启用重复过滤 ----- 文本/纯文本
仅部署更改 ----- 文本/纯文本
部署源 ----- 文本/纯文本
租户 ID ----- 文本/纯文本
* ----- 应用程序/八位字节流

Rest Controller 看起来是这样的:

    @PostMapping("/data/deployment/create")
    fun uploadDmn(@RequestBody() file: Any){

    }

当我收到请求时,出现错误:

内容类型 'multipart/form-data;boundary=------------------------914124725006223485188585;charset=UTF-8' 不支持]

如果我使用“MultipartFile”而不是 any,则文件为 NULL。

    @PostMapping("/data/deployment/create")
    fun uploadDmn(@RequestBody() file: MultipartFile){

    }

请求示例:

--28319d96a8c54b529aa9159ad75edef9
Content-Disposition: form-data; name="deployment-name"

aName
--28319d96a8c54b529aa9159ad75edef9
Content-Disposition: form-data; name="enable-duplicate-filtering"

true
--28319d96a8c54b529aa9159ad75edef9
Content-Disposition: form-data; name="deployment-source"

process application
--28319d96a8c54b529aa9159ad75edef9
Content-Disposition: form-data; name="data"; filename="test.bpmn"

<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions ...>
  <!-- BPMN 2.0 XML omitted -->
</bpmn2:definitions>
--28319d96a8c54b529aa9159ad75edef9--

有人可以帮忙吗?

Retrofit 有关于FORM ENCODED AND MULTIPART文档

要点是用@Multipart注释函数并将您的文件注释为@Part

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM