VFS 将文件写入不存在的文件夹



我用vfs将文件写入一个不存在的文件夹。我希望此文件夹出现异常或创建。但是它们都没有发生,而是创建了一个使用缺少的文件夹名称创建的文件(至少文件的内容是正确的)。

但这种行为不是我想要的 - 应该创建一个丢失的文件夹或应该抛出异常。以下是我的序列将文件发送到 FTP 的示例:

<property name="OUT_ONLY" value="true"/>    
<property name="transport.vfs.ReplyFileName" value="filename.txt" scope="transport"/>
    <send>
       <endpoint>
          <address uri="vfs:ftp://USER:PASSWORD@SERVER/myFolder"/>
       </endpoint>
    </send>

当代理尝试写入文件并且文件夹"myFolder"不存在时,myFolder内有一个使用文件名为"myFolder"而不是文件名.txt正确内容写入的文件。

顺便说一下,问题也存在于本地文件(不是特定于FTP的)

有人有解决这个问题的方法吗?

据我所知,WSO2 能够创建文件夹,但文件名会搞砸,例如,使用这样的地址

<address uri="vfs:ftp://USER:PASSWORD@SERVER/myFolder1/myFolder2"/>

假设 myFolder1 和 myFolder2 不存在。myFolder1 将被创建,但 myFolder2 不会,文件名将更改为 myFolder2,内容正确。

相反,您可以将文件夹名称添加到 ReplyFileName 属性,创建文件夹应该没有问题。

 <property name="transport.vfs.ReplyFileName" value="myFolder/filename.txt" scope="transport"/>

相关内容

  • 没有找到相关文章

最新更新