如何将字节数组转换为 mule 中的多部分文件
How to convert a byte array to a multipart file in mule
我有一个字节数组,但我的请求接受一个文件。[multipart]。如何将字节数组转换为多部分文件?
<http:request method="POST" doc:name="Request" outputMimeType='multipart/form-data; file=""'>
您需要在 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="/" />
这对我有用。
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)
}
}
我有一个字节数组,但我的请求接受一个文件。[multipart]。如何将字节数组转换为多部分文件?
<http:request method="POST" doc:name="Request" outputMimeType='multipart/form-data; file=""'>
您需要在 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="/" />
这对我有用。
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)
}
}