在线的富翁门,近来讨论一下 是嫌分少,还是不会,高手快来!请高手赐教,一个大文件,用ftp上传到指定ftp服务器,为防止

  • 主题发起人 主题发起人 haofang
  • 开始时间 开始时间
具然是文本文件就不必发愁
因为FTP可以为你处理小文本“合并”的问题,
具体你可以看看FTP控件的使用帮助,有一个属性是控制上传后遇到相同文件名时,是覆盖或追加,
你选择追加即可。
 
你可以自己定义一个文件分割规则,如每个文件包100k,以file_0,file_1...命名,服务器
端跑一个服务,用来纪录客户的传输信息。客户端文件准备完成后,先将文件信息发送给
服务器(文件名,拆分成几个包,文件大小等),服务器收到请求后轮询FTP接受目录,
直到收完全部文件或收到终止请求。如果收到全部文件包,则服务器还原文件。
 
这是我的程序里的一段代码,经实际应用是成功的,供你参考

with idFTP1do begin
connect;
transfertype:= ftASCII;
pub('c:1/.txt','data.txt',true);
pub('c:2/.txt','data.txt',true);
pub('c:3/.txt','data.txt',true);
quit;
end;
 
to jobsxy:
如果有一个小文件没有传成功,会不会出现问题。
会不会出现要将所有文件重传的情况,
如果没有成功,会不会向data.txt中添加东西。

时间已经很长了,要结束帖子了。
 
如果一个小文件没成功,并不会影响已经上传的大文件
如果小文件在传输过程中出现故障,肯定有部分已经上传,而部分未上传,也就是说DATA。TXT
肯定有重复记录存在,你程序必须考虑到这一点
如果一个文件没成功,肯定是要重传了.
 
to jobsxy:
我的意思是会不会有小文件的一部分上传到data.txt。
我们可以定义一个文件记录段点信息,记录上传到哪个文件。
不必全部重传把。例如:
012.txt未成功,只要012.txt不会部分追加到data.txt就行。
我对ftp一窍不通,请见谅
 
考虑使用Ftp的断点续传功能,如果不支持,考虑更换其它的服务器软件
 
to haofang:不行,呵呵,如果是中途中断,已经上传部分已上传,:P,
如果你不能忍受这种情况,我建议你用邮件上传吧。
 
各位大侠,
我知道ftp的rfc中的rest 可以断点续传
那么如果要对一个文件分成几块多线程传输的
可以为每一块用rest指定起始点
如何为每一块指定终点呢?
 
结束问题
日后谁有解决方法。mailto:delphisql@inhe.net
 
多人接受答案了。
 
后退
顶部