以下是我的代码,
procedure TForm1.Button2Click(Sender: TObject);
begin
  with   idftp1   do
  begin
    Username:=' ';
    Password:=' ';
    Host:=' ';
      if not Connected then
      begin
        connect;
      end;
  end;
    idftp1.Put('F:\CompanyData\4.bmp',idftp1.RetrieveCurrentDir+'\4.bmp',true);
end;跟踪过,连接可以实现,但是到PUT的时候就一直运行,不跳出来
过几分钟后,FTP上会看到一个我上传的文件,但是打开图片是空白的,大小为0 KB,

解决方案 »

  1.   

    为什么不用流处理呢?
    procedure TForm1.Button4Click(Sender: TObject);
    var
          sStr:string;
    begin
        OpenPictureDialog1.Execute;
      sStr   :=   OpenPictureDialog1.files[0];//函路径的文件名
         if   pos('.',   sStr)   <>   0   then
          begin
            while   pos('\',   sStr)   <>   0   do
                sStr   :=   copy(sStr,   pos('\',   sStr)   +   1,   length(sStr)   -   pos('\',   sStr)   +1);
          end;//最后不含路径的文件名
     if  OpenPictureDialog1.FileName <>''then
       Begin
          ADOQuery1.Insert;
          TBlobField(ADOQuery1.FieldByName('p')).LoadFromFile(OpenPictureDialog1.FileName);
          AdoQuery1.FieldByName('name_').AsString :=SStr;
          AdoQuery1.Post ; 
       End
     Else
        Begin
          showmessage('没有选择图片');
          exit;
        end;
      end;