AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy FTP Client Upload fortführen
Thema durchsuchen
Ansicht
Themen-Optionen

Indy FTP Client Upload fortführen

Ein Thema von Mondengel · begonnen am 7. Mai 2009 · letzter Beitrag vom 8. Mai 2009
Antwort Antwort
Mondengel

Registriert seit: 26. Jan 2009
49 Beiträge
 
Delphi 6 Personal
 
#1

Indy FTP Client Upload fortführen

  Alt 7. Mai 2009, 13:40
Hallo alle zusammen

Nicht gleich schlagen wenn Ihr die Frage albern findet, aber langsam bin ich verzweifelt.

Also ich hab mir mit Hilfe der Indy Komponente einen FTP-Client erstellt. Ich verschicke die Dateien über Put. Nun möchte ich, wenn die Übertragung unterbrochen wurde, den Sendevorgang fortführen... nur ich hab einfach keine Ahnung wie das anstellen soll

Hab überall schon gesucht und find einfach nichts . Wäre super wenn ihr mir weiterhelfem könntet
Es gibt keine dummen Fragen nur dumme Antworten und wer es besserweis der ist selber ein Dummkopf
  Mit Zitat antworten Zitat
Mondengel

Registriert seit: 26. Jan 2009
49 Beiträge
 
Delphi 6 Personal
 
#2

Re: Indy FTP Client Upload fortführen

  Alt 8. Mai 2009, 07:54
Hat den wirklich niemand eine Idee? Ich würde mein Programm auch etws umstellen.
Es gibt keine dummen Fragen nur dumme Antworten und wer es besserweis der ist selber ein Dummkopf
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Indy FTP Client Upload fortführen

  Alt 8. Mai 2009, 09:03
Guten Morgen,

wenn Du bei experts-exchange nach unter scrollst
findest Du ein Beispiel.
Ein wenig tiefer findest Du noch einen Hinweis
was Du beachten solltest.

Achja: Suchstichworte idftp put resume

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Mondengel

Registriert seit: 26. Jan 2009
49 Beiträge
 
Delphi 6 Personal
 
#4

Re: Indy FTP Client Upload fortführen

  Alt 8. Mai 2009, 10:06
Ich hab mir mal die Seite angeschaut ... nur leider kann ich die Antwortennicht lesen und ich will mich dort auch nicht anmelden .

Ich schau mal unter dem Stichwort das du mir gegeben hats. Wäre trotzdem dankbar für weitere vorschläge
Es gibt keine dummen Fragen nur dumme Antworten und wer es besserweis der ist selber ein Dummkopf
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#5

Re: Indy FTP Client Upload fortführen

  Alt 8. Mai 2009, 10:11
Zitat von Mondengel:
Ich hab mir mal die Seite angeschaut ... nur leider kann ich die Antwortennicht lesen und ich will mich dort auch nicht anmelden .
Doch, kannst du. Ich hasse diese Seite... Einfach ganz nach unten scrollen. Dann siehste sie auch...

//Edit
Das geht ja wirklich nicht... Normalerweise kommen doch unendlich viele Werbebanner, und dann kommen die Antworten?
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Indy FTP Client Upload fortführen

  Alt 8. Mai 2009, 10:22
Zitat von experts-exchange:
Hi there Rogerio,

I don't have much time to test the code in a machine with Delphi, but with Indy10, resume support is built-in.

Check out the Put command, where the 3rd parameter (AApend) is a Boolean value. Set that to True, and it will auto resume *if* the FTP server supports resuming.

So, all you need to do is to do something like:
Delphi-Quellcode:
var
  F: TFileStream;
  DoResume: Boolean;
  iSize: Integer;
begin
  DoResume := False;
  F := TFileStream.Create('Somefile.dat', fmOpenRead or fmShareDenyNone);
  try
    with idFTP1 do
    begin
      // code for connecting to FTP Server goes here...

      iSize := Size('Somefile.dat');
      if (iSize > -1) and (F.Size > iSize) then
      // if the file already exists, and the destination file is smaller, check if we want to resume
        if CanResume
          DoResume := MessageDlg('FTP Server supports Resume. Do you want to resume the previous transfer?',
            mtConfirmation, [mbYes, mbNo], 0) = mrYes;
      Put(F, 'Somefile.dat', DoResume);
    end;
  finally
    F.Free;
  end;
end;
rogerbrito:Hi DragonSlayer.

I have tried that. Using a filename as the first parameter the entire file would be appended no to destination file, and not only the missing part. I also tried using a Stream (as in your example). That worked, but the destination file would always be incomplete (a few kbytes short).

So I've changed to ICS FTPCli component (http://www.overbyte.be) . It's free and I've found a resume upload example that works! I have already implemented it on my application and it is working great!

Thank you for help anyway.

Rogerio


DragonSlayer:Hi Rogerio, I forgot one piece of code... I think you actually need to perform a Seek to the right position in your stream before calling Put. Glad that


Klaus
  Mit Zitat antworten Zitat
Mondengel

Registriert seit: 26. Jan 2009
49 Beiträge
 
Delphi 6 Personal
 
#7

Re: Indy FTP Client Upload fortführen

  Alt 8. Mai 2009, 11:49
Hey Es hat geklappt

Ich danke euch vielmals für die Hilfe
Es gibt keine dummen Fragen nur dumme Antworten und wer es besserweis der ist selber ein Dummkopf
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz