我有一个入站SFTP端点,它检索文件,我想用文件和屏幕截图中附带的其他数据(文本)进行HTTP发布。根据mule文档,有效负载必须是我使用Set Attachment属性进行的出站附件。使用这种方法,我将我的一个附件的Content-Type设置为application / XML(因为我的文件是XML类型),而将text / plain设置为另一个参数。实现这个的任何想法? 我附上了Postman中请求的截图。
答案 0 :(得分:2)
以下是更新的答案,适用于带有DataWeave 2.0的Mule 4.2.2 EE。
只需添加带有以下DataWeave脚本的“设置有效载荷”连接器:
%dw 2.0
import dw::module::Multipart
output multipart/form-data
---
{
parts: {
part1: Multipart::field({name:"part1FieldName", value: "part 1 value", mime: "application/octet-stream"}),
part2: Multipart::field({name:"part2FieldName", value: "part 2 value", mime: "application/json"})
}
}
亚历克西斯
答案 1 :(得分:0)
假设您正在从SFTP入站端点接收PDF文件(根据文件类型更改内容类型),并且您希望将该文件发送到HTTP,那么您需要在向HTTP端点发送请求之前创建以下内容:
<set-attachment value="<byte-array-contents>" contentType="application/pdf" attachmentName="file" doc:name="Attachment" />
和
<set-attachment value="some-info" contentType="text/plain" attachmentName="metadata" doc:name="Attachment" />
另外,请确保将payload设置为null,如下所示
<set-payload value="#[null]" />
最后,调用/发送请求到HTTP端点。