【问题标题】:VFS write file to non-existing folderVFS 将文件写入不存在的文件夹
【发布时间】:2012-09-25 10:10:53
【问题描述】:

我将一个带有 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”而不是 filename.txt 的正确内容的文件。

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

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

【问题讨论】:

    标签: wso2 wso2esb vfs apache-commons-vfs


    【解决方案1】:

    据我所知,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"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-25
      • 1970-01-01
      • 1970-01-01
      • 2012-10-31
      • 2013-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多