Encoding Mule flow将奇怪的字符添加到文件开头
我只是在移动文件,但出于某种原因,它们在文件的前面添加了奇怪的字符。 之前: (用UTF-8编码) 之后:(用ANSI编码) 我尝试过的事情: 显式地将编码设置为utf-8 显式地将编码设置为ANSI 使用编码设置为utf-8的对象到字节数组 使用编码设置为utf-8的对象来字符串 以下是我的流程和相关连接器:Encoding Mule flow将奇怪的字符添加到文件开头,encoding,utf-8,mule,Encoding,Utf 8,Mule,我只是在移动文件,但出于某种原因,它们在文件的前面添加了奇怪的字符。 之前: (用UTF-8编码) 之后:(用ANSI编码) 我尝试过的事情: 显式地将编码设置为utf-8 显式地将编码设置为ANSI 使用编码设置为utf-8的对象到字节数组 使用编码设置为utf-8的对象来字符串 以下是我的流程和相关连接器: <sftp:connector name="Sftp" maxConnectionPoolSize="3" doc:name="SFTP"/> <file:connec
<sftp:connector name="Sftp" maxConnectionPoolSize="3" doc:name="SFTP"/>
<file:connector name="FileConnector" autoDelete="true" streaming="false" validateConnections="true" doc:name="FileConnector"/>
<flow name="SftpOutBound" initialState="stopped">
<file:inbound-endpoint
path="${ftp.base}/${id}/export"
pollingFrequency="${polling.frequency.millis}"
responseTimeout="${standard.response.timeout.millis}"
fileAge="${standard.fileage.delay.millis}"
connector-ref="deletingFileConnector"
doc:name="OutBound">
<file:filename-wildcard-filter pattern="${out.filter}" />
</file:inbound-endpoint>
<object-to-byte-array-transformer doc:name="Object to Byte Array" />
<all doc:name="all">
<file:outbound-endpoint
path="${archive.out}/${id}"
outputPattern="#[header:INBOUND:originalFileName]_#[function:datestamp:${standard.date.format}]_#[function:systime]"
responseTimeout="${standard.response.timeout.millis}"
connector-ref="deletingFileConnector"
doc:name="Archive" />
<logger
level="WARN"
message="Uploaded file from ${ftp.base}/${id}/export/#[header:INBOUND:originalFileName]"
doc:name="Logger"/>
<sftp:outbound-endpoint
connector-ref="Sftp"
host="${host}"
port="${port}"
path="${in.path}"
user="${user}"
identityFile="${configFullPath}/${identity.file}"
passphrase="${passphrase}"
responseTimeout="${standard.response.timeout.millis}"
keepFileOnError="true"
duplicateHandling="overwrite"
exchange-pattern="one-way"
outputPattern="#[header:INBOUND:originalFileName]"
doc:name="SFTP"/>
</all>
</flow>
谢谢你的帮助 文件的有效负载结果:入站端点的类型为InputStream。为什么不按原样(字节[])保存文件和sftp出站端点
如果您必须将其转换为字符串,那么我建议您在阅读后使用
,而不是,因此当我升级到3.6.1时,Mule 3.5.0似乎出现了问题。仍然不确定是什么原因导致了它,但版本更改解决了它。我尝试不使用它,让端点处理它,但它仍然存在问题。这就是我最初的想法,然后我尝试了我在帖子中列出的所有东西。
¬í ur [B¬óøTà xp žÌtestCol1,testCol2,testCol3
<sftp:connector name="Sftp" maxConnectionPoolSize="3" doc:name="SFTP"/>
<file:connector name="FileConnector" autoDelete="true" streaming="false" validateConnections="true" doc:name="FileConnector"/>
<flow name="SftpOutBound" initialState="stopped">
<file:inbound-endpoint
path="${ftp.base}/${id}/export"
pollingFrequency="${polling.frequency.millis}"
responseTimeout="${standard.response.timeout.millis}"
fileAge="${standard.fileage.delay.millis}"
connector-ref="deletingFileConnector"
doc:name="OutBound">
<file:filename-wildcard-filter pattern="${out.filter}" />
</file:inbound-endpoint>
<object-to-byte-array-transformer doc:name="Object to Byte Array" />
<all doc:name="all">
<file:outbound-endpoint
path="${archive.out}/${id}"
outputPattern="#[header:INBOUND:originalFileName]_#[function:datestamp:${standard.date.format}]_#[function:systime]"
responseTimeout="${standard.response.timeout.millis}"
connector-ref="deletingFileConnector"
doc:name="Archive" />
<logger
level="WARN"
message="Uploaded file from ${ftp.base}/${id}/export/#[header:INBOUND:originalFileName]"
doc:name="Logger"/>
<sftp:outbound-endpoint
connector-ref="Sftp"
host="${host}"
port="${port}"
path="${in.path}"
user="${user}"
identityFile="${configFullPath}/${identity.file}"
passphrase="${passphrase}"
responseTimeout="${standard.response.timeout.millis}"
keepFileOnError="true"
duplicateHandling="overwrite"
exchange-pattern="one-way"
outputPattern="#[header:INBOUND:originalFileName]"
doc:name="SFTP"/>
</all>
</flow>