Laden...

byte-Array in Datei

Erstellt von f.ritz vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.364 Views
f.ritz Themenstarter:in
341 Beiträge seit 2004
vor 18 Jahren
byte-Array in Datei

Hallo!

Ich habe ein kleines Problem auf dessen Lösung ich iregendwie nicht so schnell komme.🤔
Ich lade eine Datei runter und packe es in ein byte-Array, dabei handelt es sich um ein Bild. Anschließend möchte ich diesen byte-Array in eine Datei schreiben um dieses Bild zu erhalten.
Wie schreibe ich nun den byte-Array in eine Datei, damit es anschließend als eine Bilddatei zur Verfügung steht?

D
481 Beiträge seit 2005
vor 18 Jahren

Schau dir mal die Klasse FileStream an.

Dexter

Programmierer sind Maschinen die Koffein in Quellcode umsetzen.

564 Beiträge seit 2006
vor 18 Jahren

Hi f.ritz!

Um eine Bilddatei zu speichern, ist dein rangehen falsch. Wie bekommst du eigentlich dieses Byte-Array?

Für Bilder gibt es die Klasse Bitmap, welche auch eine Save-Methode besitzt.
Dies kann so aussehen:

sourceImage.Save("Bild.jpg", System.Drawing.Imaging.ImageFormat.Jpeg); //sourceImage ist ein Bitmap-Objekt

zu deiner ursprünglichen Frage, um ein Byte-Array in eine Datei zu speichern öffnest du einen File-Stream und benutzt die Methode Write():

FileStream fs = new FileStream("Bild.jpg");
            byte[] buffer = new byte[1024];
            fs.Write(buffer, 0, buffer.Length);

Wie gesagt, letzteres ist aber keine Lösung für dein problem.

der Marcel 🙂

:] 😄Der größte Fehler eines modernen Computers sitzt meist davor 😁 :]

D
481 Beiträge seit 2005
vor 18 Jahren

Wieso ist das keine Lösung? Also wenn ich es mit der zweiten Methode ein Image unter einem .jpg File speichere, kann ich es in Windows ganz normal öffnen. Funktioniert auch mit sonst jeglichen Dateien.

Dexter

Programmierer sind Maschinen die Koffein in Quellcode umsetzen.

564 Beiträge seit 2006
vor 18 Jahren

Hi Dexter!

Original von f.ritz
Ich lade eine Datei runter...

Da war ich wohl zu unaufmerksam...
Bin beim Schreiben davon ausgegangen, dass er sich erstellt dieses Bild mit dem byte-Array "von Hand" erstellt. Somit funktioniert mein letztes Codebeispiel natürlich und ist die bessere Variante peinlich

der Marcel 🙂

:] 😄Der größte Fehler eines modernen Computers sitzt meist davor 😁 :]

M
1.439 Beiträge seit 2005
vor 18 Jahren

Du kannst auch das byte Array in einen MemoryStream packen und dann mittels Image.FromStream dein Bild erzeugen. So musst du das Bild nicht auf der Festplatte speichern.
Wenn du ein Byte Array in ein File Speichern willst, dann FileStream erzeugen und
Stream.Write() aufrufen.