Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi [Indy10] AWorkCount größer als die Datei (https://www.delphipraxis.net/170094-%5Bindy10%5D-aworkcount-groesser-als-die-datei.html)

BlackRaven 30. Aug 2012 15:46

[Indy10] AWorkCount größer als die Datei
 
Hallo,
ein weiteres PRoblem mit AworkCount bei Indy THttp.

Ich lade mittels THttp.Post eine Datei hoch

Delphi-Quellcode:
upload.AddFile('file', filename, 'multipart/form-data'); //Definiert die hochzuladende Datei
IdHTTP1.Post(fileserverfinal, upload); //Lädt die Datei hoch
wenn ich nun im OnWork die Variable AWorkCount auslese ist diese immer etwas höher als ich mittels getfilesize(filename) ermittelt habe
Delphi-Quellcode:
function GetFileSize(FileName : string) : Int64;    
var                                                
  SearchRecord : TSearchRec;                        
begin                                              
  if FindFirst(FileName, faAnyFile, SearchRecord) = 0
    then                                            
      begin                                        
        Result := SearchRecord.Size;                
        FindClose(SearchRecord);                    
      end                                          
    else                                            
      Result := 0;                                  
end;
Die Datei mit getfilsize() ist zb 405874 Byte groß und AWorkCount wenn der Upload fertig ist, ist 406266 Byte groß.

Liegt bei der Dateiigrößenermittlung ein Fehler vor oder woher kommen dann bei diesem Beispiel die restlichen 392 Byte her? Es sind nicht immer genau 392 Byte. Je nach Größe der Datei ist auch der Überhang größer.

Ich hoffe ich konnte mein Problem verständlich darlegen und hoffe auch, das mir evt. jemand helfen kann.

himitsu 30. Aug 2012 15:49

AW: [Indy10] AWorkCount größer als die Datei
 
Es werden ja auch noch einige Verwaltungsdaten versendet. :zwinker:

- an welchen Pfad gehen diese POST-Daten
- in welchem Format wird alles versendet
- wie heißt die Datei(en)
- womöglich noch die Dateigröße
- eventuell ein paar Cockies
- der Name des Versenders (der Browser, bzw. die HTTP-Komponente)
- usw.

BlackRaven 30. Aug 2012 16:39

AW: [Indy10] AWorkCount größer als die Datei
 
Ich versuche mal all deine Fragen zu beantworten.

an welchen Pfad gehen diese POST-Daten?
Die Datei wird an eine URL geschickt, die sich theoretisch auch mit einem POST formular abschicken lässt. Zusätzlich zu dem Dateifeld sind es noch 2 weitere text eingabefelder.

in welchem Format wird alles versendet?
Das Dateiformat ist nicht immer das selbe, in diesem fall kommen sie von einem OpenDialog

wie heißt die Datei(en)?
selbe wie oben

womöglich noch die Dateigröße
Die dateigröße ist auch hier immer eine andere, wird allerdings auch in einem Textfeld sepperat mitgeschickt
Delphi-Quellcode:
upload.AddFormField('filesize', FloatToSTr(getfilesize(filename));


eventuell ein paar Cockies
Cockies sind hier nicht involviert

der Name des Versenders (der Browser, bzw. die HTTP-Komponente)
da diese im prinzip nicht benötigt wird, ist hier alles auf Standart gesetzt. die HTTP-Komponente ist die von Indy10 bereitgestellte TidHTTP


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:22 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