我正在使用Mule 3.4.1创建一个进程,在处理文件后,它会写出具有特定文件名的文件.输入文件名为:MMDDYYYY_sys_newhires.csv处理的文件名为:MMDDYYYY_sys_newhires_NNN.csv
我正在使用的代码如下:
#[filename = message.inboundProperties.originalFilename;
filename= com.cfa.apps.icims.mule.CounterSingleton.getInstance().getCount()
+ filename.substring(0,filename.length() -1 -4) + ".csv";
filename]
Run Code Online (Sandbox Code Playgroud)
问题存在于第一行.message.inboundProperties.originalFilename.
我尝试了很多不同的组合
message.inboundProperties.originalFilename
message.inboundProperties['originalFilename']
message.inboundProperties.originalFileName
message.inboundProperties['originalFileName']
message.inboundProperties.sourceFilename
message.inboundProperties['sourceFilename']
message.inboundProperties.sourceFileName
message.inboundProperties['sourceFileName']
Run Code Online (Sandbox Code Playgroud)
现在我也尝试嵌套#[header:originalFilename],这本身就可以工作,但是至少据我所知,你不能在代码中嵌套表达式.
有帮助吗?
更新:我正在使用入站文件传输
由于您没有显示端点配置,我将假设这是在文件入站端点上发生的.
由于超出想象的原因,入站端点后面的文件消息接收器将originalFilename属性放入评估表达式时出站范围以生成归档文件名.
所以使用: message.outboundProperties.originalFilename