Auch wenn es funktioniert möchte ich noch ein Kommentar abgeben:
ja aber ich weiß nun echt keiine Lösung?
Naja ein bisschen "analytisch" denken, was denn schief gehen kann. Erstmal scheint es ja ein Problem beim schrieben zu geben, da die Daten ja schon beim schreiben murks sind. Dann ist auffällig, das die korrekte Länge weiterhin drin steht. Allerdings überschreibt diese korrekte Länge das jpg an der Stelle.
Jetzt noch kurz vor Augen führen was der Code da macht:
- Er lässt Platz für die Länge.
- Er schreibt die Daten.
- Er springt wieder nach vorne und schreibt die Länge.
Das heißt irgendwie ist er zu kurz zurückgesprungen, oder er schreibt schon zu früh los. Zu kurz ist er nach den Code nicht gesprungen, das heißt er schreibt zu früh. Was da natürlich sein könnte, dass er nicht weiter sondern zurückspringt (er ist ja 4 Byte gesprungen). Aber das lässt sich im Code widerlegen.
Naja und der Rest war dann nur den Code im Kopf durchzugehen. So bin ich zumindest den Fehler auf die schliche gekommen. Übrigens hätte ich nach der interessanten Symptomatik noch ein zweiten Test angelegt, wo der Text nicht ein vielfaches von 4 ist. So wäre dann aufgefallen, dass er immer ab den 9. Byte schreibt.
Das soll kein Vorwurf sein, aber wenn ich hier so den Thread verfolge, dann befürchte ich du verstehst den Code nicht. Und wenn das der Fall ist kommt man natürlich nicht so schnell so "weit".
MfG
Fabian