【发布时间】:2020-06-08 01:47:10
【问题描述】:
我有一个字节数组,但我的请求接受一个文件。[多部分]。如何将字节数组转换为多部分文件?
<http:request method="POST" doc:name="Request" outputMimeType='multipart/form-data; file=""'>
【问题讨论】:
标签: mule multipartform-data esb anypoint-studio
我有一个字节数组,但我的请求接受一个文件。[多部分]。如何将字节数组转换为多部分文件?
<http:request method="POST" doc:name="Request" outputMimeType='multipart/form-data; file=""'>
【问题讨论】:
标签: mule multipartform-data esb anypoint-studio
这对我有用。
https://docs.mulesoft.com/mule-runtime/4.2/dw-multipart-functions-form
%dw 2.0
import dw::module::Multipart
output multipart/form-data
var firstPart = "content for my first part"
var secondPart = "content for my second part"
---
{
parts: {
part1: Multipart::field({name:"myFirstPart",value: firstPart}),
part2: Multipart::field("mySecondPart", secondPart)
}
}
【讨论】:
您需要在 HTTP 请求之前使用 DataWeave 转换来生成 multipart/form-data 负载并将每个附件设置为 parts 对象的成员。
例如,假设二进制文件在有效载荷中:
<ee:transform doc:name="Transform Message">
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output multipart/form-data
---
{
parts : {
file : {
headers : {
"Content-Disposition" : {
"name": "file",
"filename": "20180721_173036.jpg"
},
"Content-Type" : "image/jpeg",
},
content : payload
}
}
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<http:request method="POST" doc:name="Request" config-ref="HTTP_Request_configuration" path="/" />
【讨论】: