2011-05-22 30 views
1

我运行Ant目标包含此:蚂蚁FTP上传任务截断文件,以1024个字节的多个

<ftp action="send" 
    server="${ftp.server}" 
    remotedir="${ftp.remotedir}" 
    userid="${ftp.userid}" 
    password="${ftp.password}" 
    systemTypeKey="WINDOWS" 
    binary="no" 
    verbose="yes"> 
    <fileset dir="${dist.dir}"> 
     <includesfile name="${temp.dir}/changedListText.txt"/> 
    </fileset> 
</ftp> 

“changedListText.txt”是文件上传的新行分隔的列表。我上传的所有文本文件最终大小为零。另外,我上传的所有二进制文件的大小与我的本地机器不匹配。我认为分割文本和二进制文件会有所帮助,但显然它没有。

我可以在Ant FTP任务上找到宝贵的小文档,并且据Verbose报告,在上传过程中似乎没有任何错误。

编辑︰我现在看到,它只是上传1024字节的整个块。我的文本文件很小,所以最终会舍入到零。

+0

'二进制=“无”'允许FTP协议修改飞行文件,如果服务器的行结束约定不匹配的客户端。对我来说似乎很麻烦,特别是如果你正在上传一些你称之为“binary”的文件。 :) – sarnold 2011-05-23 00:01:11

+0

无论是二进制=“否”或二进制=“是”(默认),我的文本文件无法上传,我的二进制文件是错误的大小。对我来说似乎也很麻烦,但我在智慧的结尾试图弄清楚发生了什么事情!大声笑 – 2011-05-23 00:11:29

+0

@Jonathan,hrm,闻起来有点麻烦。 :/ – sarnold 2011-05-23 00:12:46

回答

2

您可能正在使用Apache Commons Net 3.0。更改为1.4.1它会工作。不要忘记删除3.0 jar

的JAR文件可以从以下网址下载:http://commons.apache.org/net/download_net.cgi

+0

这就是问题所在!对于它的价值,我不得不挖掘旧版本的Jakarta-oro。 – 2011-05-25 00:07:58