Einzelnen Beitrag anzeigen

Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#5

AW: idFTP Falsche Dateigröße nach Upload

  Alt 1. Jan 2011, 13:27
OK.. Also es ist in der Komponente definitiv Binary aktiv. Zur sicherheit habe ich mal vor dem Put ebenfalls nochmal Binary gesetzt.
Jedoch wieder die Datei hin...

Delphi-Quellcode:
procedure TForm2.IdFTP1AfterClientLogin(Sender: TObject);
  var
    SL: TStringList;
    FS: TMemoryStream;
    I: Integer;
begin
  StatusFrm.Add('Connected. Cleaning Directory');

  if CleanUpFTP then begin
    StatusFrm.Add('Create Update Info File');
    SL := TStringList.Create;
    //SL.Add(Format('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>', []));
    SL.Add(Format('<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>', []));
    SL.Add(Format('<updateinfo>', []));
    SL.Add(Format(' <filename>%s</filename>', [edtFileName.Text]));
    SL.Add(Format(' <size>%d</size>', [GetFileSize(AppDir + edtFileName.Text)]));
    SL.Add(Format(' <version>%s</version>', [edtVersion.Text]));
    SL.Add(Format(' <published>%s</published>', [DateTimeToStr(Now)]));
    SL.Add(Format(' <changelog>', []));
    for I := 0 to mmoDescription.Lines.Count - 1 do
      SL.Add(Format(' <line>%s</line>', [mmoDescription.Lines.Strings[I]]));
    SL.Add(Format(' </changelog>', []));
    SL.Add(Format('</updateinfo>', []));
    FS := TMemoryStream.Create;
    SL.SaveToStream(FS);
    FS.Position := 0;
    StatusFrm.Add('Write Update Info File');
    IdFTP1.Put(FS, 'update.xml');
    StatusFrm.Add('Write Update File');
    FS.Clear;
    fs.Position := 0;
    fs.LoadFromFile(AppDir + 'Login.png'); //edtFileName.Text);
    FS.Position := 0;
    IdFTP1.TransferType := ftBinary;
    IdFTP1.Put(FS, 'Login.png'); //edtFileName.Text);
    StatusFrm.Add('Disconnecting');
    try
      IdFTP1.Disconnect;
    except
      on E: EIdConnClosedGracefully do begin

      end;
    end;
    StatusFrm.Add('Delete Update File');
    //DeleteFile(AppDir + edtFileName.Text);
  end;
end;
Client System ist Windows 7 Professional 64. Könnte es unter Umständen daran liegen?
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat