最近在用Delphi做一个断点上传的东西,可是我查了好多网上的资断,也按照方法写了,可是很奇怪,比如一个100mb的文件,我上传50mb,结果我断开后,再传完,就成了150MB,我用了别的FTP客户端连接FTP服务器是可以断点的,说明服务端没有问题,可是客户端要怎么写呢
if IdFTP.Connected then begin
if OpenDialog.Execute then try
LastTimeTransfer := IdFtp.Size(ExtractFileName(OpenDialog.FileName));
// Memo1.Text :=FloatToStr(LastTimeTransfer);
if(LastTimeTransfer <> -1) then
begin
LSourceStream := TFileStream.Create(ExtractFileName(OpenDialog.FileName), fmOpenRead);
LSourceStream.Seek(LastTimeTransfer,soFromBeginning); Memo1.Text := FloatToStr(LSourceStream.Position);
IdFtp.Put(LSourceStream, ExtractFileName(OpenDialog.FileName), true);
end
else
begin
IdFTP.Put(OpenDialog.FileName, ExtractFileName(OpenDialog.FileName));
end; finally
end;
end;
end;
我是这么写的,请问大家应该怎么写才对呢,
if IdFTP.Connected then begin
if OpenDialog.Execute then try
LastTimeTransfer := IdFtp.Size(ExtractFileName(OpenDialog.FileName));
// Memo1.Text :=FloatToStr(LastTimeTransfer);
if(LastTimeTransfer <> -1) then
begin
LSourceStream := TFileStream.Create(ExtractFileName(OpenDialog.FileName), fmOpenRead);
LSourceStream.Seek(LastTimeTransfer,soFromBeginning); Memo1.Text := FloatToStr(LSourceStream.Position);
IdFtp.Put(LSourceStream, ExtractFileName(OpenDialog.FileName), true);
end
else
begin
IdFTP.Put(OpenDialog.FileName, ExtractFileName(OpenDialog.FileName));
end; finally
end;
end;
end;
我是这么写的,请问大家应该怎么写才对呢,
本群由原来近200人精简到目前几十人的精英,淘汰了若干无助群发展的人
现在需要继续壮大本群,望有意者\高手\专家们加盟
QQ群号:29489381务必注意:加入时请看群公告内容,否则将会取消成员资格
我加上这句了,也没有作用,我把IdFTP的组件,也改成STOR了在追加的方式上,
begin
LSourceStream := TFileStream.Create(ExtractFileName(OpenDialog.FileName),fmOpenRead or fmShareDenyNone); //创建文件流;
MyStream := TMemoryStream.Create;
LSourceStream.Seek(LastTimeTransfer, soFromBeginning); //将文件流指向最后一次上传的位置;
while LSourceStream.Position <> LSourceStream.Size do
begin
s := LSourceStream.Read(buf, sizeof(buf));
MyStream.Write(buf, s);
end;
IdFTP1.Quote('REST ' + floattostr(LastTimeTransfer)); //Quote('REST '+floattostr(resumepoint));
IdFTP1.Put(MyStream, FrmLogin.FileListName[FTimeout].Strings[number], true); //以文件流方式 APPE (追加续传)
end;
你试下这样写,我写了个,可以上传好慢呀,有没有什么办法呀!