我编写了一个 vfs 代理来将文件从一个文件夹路由到另一个文件夹。但是最近我遇到了一个问题。
vfs 传输似乎正在处理一个尚未完成的文件(我将一个文件复制到源路径),因此例如我将一个 18mb 的文件复制到源路径但是当文件被复制时只有 1mb 它已经被 vfs 传输处理. 最后,只有文件的 1mb 部分被发送到目标路径。
那么,我怎样才能让我的 vfs 代理等待文件被完全复制然后处理呢?
我的代理看起来像这样
<proxy name="XXX" transports="vfs" startOnLoad="true" trace="disable">
<description/>
<target>
<inSequence>
<log level="custom">
<property name="File" value="Moved"/>
</log>
</inSequence>
</target>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.PollInterval">1</parameter>
<parameter name="transport.vfs.FileURI">file:///SourcePath</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file:///TargetPath</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.*</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>