断点续传需要服务器端和客户端两方面的配合。在服务器端,要支持REST n ,(n大于0)这个命令,而客户端则要负责计算出这个n的值。首先服务器端要给客户端list的权限,要不然客户端不知道远程服务器上有哪些文件,大小多少,就不可能计算出n;当客户端获得列表后,可以检测用户要上传的文件是否有同名,如果同名则可以检查大小是否一致,如果不一致,可以提示客户是重传还是续传或者放弃之类的。如果是续传,要先发出REST n这个命令,然后再发STORE命令,这个时候服务器会知道你是续传的,在相应的OnStoreFile响应函数的参数中AAppend就是true,否则就是false(这个AAppend可不是给你用来修改的,呵呵)。然后我们可以根据AAppend,以不同的方式创建一个文件流,续传的话OpenMode是fmOpenWrite,另外别忘了Seek(0, soFromEnd).