Abrufen der Dateigröße aus dem Content-Length-Header für das Hochladen mehrteiliger Formulare

Also lade ich eine Datei hoch und lade sie dann herunter ... aber die Inhaltslänge in den Upload-Headern stimmt nicht mit der Dateigröße überein. Ich vermute, es gibt einige andere Daten, die mit dieser Berechnung und Übertragung zusammenhängen, aber was genau? Wie erhalte ich eine genaue Dateigröße aus der Inhaltslänge? Ist es überhaupt möglich?

Ich weiß, dass es Grenzen gibt, und vielleicht ein paar andere Dinge, aber überprüfe es:

5380216 - 5379906 = 310

"----WebKitFormBoundaryeoFyqD4zr6smwYDG".size
→ 38

Die Randgröße ist also 38 ... 310 hat einige LCDs von 5, 10, 31 ... diese funktionieren in keiner Weise gut mit 38 ... Ich bin verloren!

Dateigrößen:

-rw-r--r--@  1 williamcotton  staff    5379906 Jul  2 12:02 testfile-downloaded.zip
-rw-r--r--@  1 williamcotton  staff    5379906 Jun  8 14:23 testfile-uploaded.zip

HTTP-Header

{ 
  host: 'localhost:8887',
  connection: 'keep-alive',
  'content-length': '5380217',
  'cache-control': 'max-age=0',
  origin: 'http://localhost:8887',
  'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1193.0 Safari/537.1',
  'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryeoFyqD4zr6smwYDG',
  accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  referer: 'http://localhost:8887/',
  'accept-encoding': 'gzip,deflate,sdch',
  'accept-language': 'en-US,en;q=0.8',
  'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3' 
}

tl; dr

Dateigröße beträgt 5379906

Die Inhaltslänge wird als 5380216 angegeben

Warum?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage