INDY-FTPServer问题!文件传过来后,如何获得大小?(50分)

  • 主题发起人 主题发起人 liqianlong
  • 开始时间 开始时间
L

liqianlong

Unregistered / Unconfirmed
GUEST, unregistred user!
以下是该事件(客户端传文件过来)

procedure TVDiskService.FTPSStoreFile(ASender: TIdFTPServerThread;
const AFileName: String; AAppend: Boolean; var VStream: TStream);
var
PPath:String;
begin
PPath:='d:/' + ExtractFileName(AFileName);
VStream :=TFileStream.Create(PPath, fmCreate);
end;


我想知道传过来的文件有多大!
因为这个时间将触发接收线称,所以以下方法当然行不通:
1、在该事件里 getfilesize();
2、在该事件里 VStream.size;

咋办?
 
自问自答吧!大家看看对不对!

/////////////////////////////定义一个...
type My_T = class
_Filename:String;
procedure tern1(Sender:TObject); {线程1 Onterminate事件}
end;

///////////////////////////////////设置上传线称结束事件
procedure TForm1.IdFTPServer1RetrieveFile(ASender: TIdFTPServerThread;
const AFileName: String; var VStream: TStream);
var
_j:My_T;
PPath:String;
begin
PPath:='d:/' + ExtractFileName(AFileName);
_j._Filename :=PPath;
ASender.OnTerminate:=_j.tern1;
VStream :=TFileStream.Create(PPath, fmCreate);
end;

///////////////////////////////////////////触发
procedure My_T.tern1(Sender: TObject);
begin
getfilesize(_Filename);
........................
end;










哈哈!~行不行呢?我去试试看
 
大家来抢分吧,白送呢
 
学习
想问下 如果文件还没有传完能不能对文件进行操作呢 比如剪切?
 
后退
顶部