将JSON格式的文件发送到Mule 3.8中的REST服务

将JSON格式的文件发送到Mule 3.8中的REST服务,mule,anypoint-studio,dataweave,Mule,Anypoint Studio,Dataweave,我正在使用Mule 3.8,需要用json(base64)向目标REST服务发送一个文件 我正在努力寻找选择,但其中任何一个都不起作用。我的有效负载中有一个文件,或者我可以从文件中读取它 这是我的方法。使用脚本在Dataweave转换中生成JSON并添加文件内容(转换为base64)。这将为我们提供所需格式的JSON。但是,我们也需要在JSON中添加文件内容(下面是示例JSON)。我们可以使用负载中的#[message.inboundAttachments['file'].dataSource.

我正在使用Mule 3.8,需要用json(base64)向目标REST服务发送一个文件

我正在努力寻找选择,但其中任何一个都不起作用。我的有效负载中有一个文件,或者我可以从文件中读取它

这是我的方法。使用脚本在Dataweave转换中生成JSON并添加文件内容(转换为base64)。这将为我们提供所需格式的JSON。但是,我们也需要在JSON中添加文件内容(下面是示例JSON)。我们可以使用负载中的
#[message.inboundAttachments['file'].dataSource.content]
获取文件内容,但不确定如何将其传递给dataweave

> { "form_data": { "name": 'xyz' }, "files": [ { "fileid": "id1",
> "filedata": "base64 file data" }] }
(代表OP发布解决方案)


我使用自定义java transformer并从MuleMessage对象获取所有数据。创建json值并将其设置回有效负载。

不清楚您要求的是什么。您将数据作为字段filedata值,这是一段数据。像斑点或类似的东西。Dataweave将其作为一个整体进行操作。您的目标是从这个BLOB中提取数据吗?然后从base64转换它,定义元数据并使用它。这是流程中的三个步骤。这是你想要的吗?