我收到一封附有附件的电子邮件。
我通过接收位置检索电子邮件。
通过管道检索附件。
然后我有一个消息来自管道的发送端口。
我希望发送端口发布文件与附件中文件的名称相同。
我读到在发送端口配置中设置文件名时必须使用宏%SourceFileName%。
我试过了,但是文件名字面上是%SourceFileName%。
答案 0 :(得分:0)
$fasm boot.asm
$qemu-system-x86_64 -drive format=raw,media=disk,if=floppy,file=./boot.bin
是floppy.img
消息上下文属性的宏,通常由FILE或FTP适配器添加到消息上下文中,但不是SMTP。您可以在业务流程或接收管道中自己设置此属性,然后您就可以在发送端口上使用%SourceFileName%
宏。
答案 1 :(得分:0)
您可以在管道中提升上下文属性(特别是ReceivedFileName),并使用宏来获取此属性,就像您对ReceivedFileName所做的那样。看一下 thread :
答案 2 :(得分:0)
从mime-properties获取附件文件名,并在发送过程中提升ReceivedFileName属性以获取%SourceFileName%。
public IBaseMessage Execute(IPipelineContext pContext, IBaseMessage pInMsg) {
IBaseMessagePart bodyPart = pInMsg.BodyPart;
if (bodyPart != null)
{
string fileName = (string)pInMsg.Context.Read("ReceivedFileName", "http://schemas.microsoft.com/BizTalk/2003/file-properties");
fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1);
pInMsg.BodyPart.PartProperties.Write("FileName", "http://schemas.microsoft.com/BizTalk/2003/mime-properties", fileName);
}
return pInMsg;}