使用Mule发送文件附件

使用Mule发送文件附件,mule,Mule,我已经看到了这个答案,但它没有显示如何使用MEL在值字段中发送文件。如果在其中输入某个值,则为文件内容。我假设您必须使用MEL将有效负载从文件端点连接器移动到“附件值”属性 另外,如何动态设置内容类型 谢谢 Jaco.您可以使用文件到字符串转换器将文件转换为字符串。您还可以使用Mule变量、属性等来定义内容类型或其他参数。例如: <file:inbound-endpoint path="/tmp/attachments" responseTimeout="10000"/> <

我已经看到了这个答案,但它没有显示如何使用MEL在值字段中发送文件。如果在其中输入某个值,则为文件内容。我假设您必须使用MEL将有效负载从文件端点连接器移动到“附件值”属性

另外,如何动态设置内容类型

谢谢


Jaco.

您可以使用
文件到字符串转换器
将文件转换为字符串。您还可以使用Mule变量、属性等来定义内容类型或其他参数。例如:

<file:inbound-endpoint path="/tmp/attachments" responseTimeout="10000"/>
<file:file-to-byte-array-transformer/>
<set-variable variableName="ct" value="test/plain" />
<set-attachment attachmentName="#[message.outboundProperties.filename]" value="#[payload]" contentType="#[flowVars['ct']]"/>
<set-payload value="this is my message"/>
<smtp:outbound-endpoint... 


你好,安东。谢谢你。我只想把文件作为附件发送。它应该是相同的类型和内容。看起来您正在创建文件内容。假设我有一个文件夹c:\文件,我复制了一个文本文件values.txt,其中包含worlds hallo world。该文件应按原样通过电子邮件发送。我现在得到的是,hello world的内容在电子邮件正文中。假设我将一个jpg文件复制到同一个文件夹中。然后,它应该发送jpg文件,电子邮件客户端应该能够打开该图像。这有意义吗?更新了示例,它现在适用于所有文件类型,并包括原始文件名。对于内容类型,您可能必须通过检查文件扩展名来确定,并为您想要支持的每种类型有条件地设置文件扩展名。或者找一个可以这样做的库/脚本。