ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
688
688
EMPFEHLEN
-
Hallo!
Ich habe in meiner Anwendung eine Variable (memStream) vom Typ MemoryStream deklariert, dieser möchte ich in einer Methode einen Stream zuweisen, und in einer anderen Methode wieder öffnen.
Obwohl ich "memStream" nicht schließe, bekomme ich immer wieder eine Exception:
'Additional information: Cannot access a closed Stream.'
wenn ich darauf zu greifen möchte.
Der Fehler tritt in folgendem Abschnitt in der 1. Zeile auf:
Code :1 2
byte[] img = new byte[this.memStream.Length]; memStream.Read(img, 0, Convert.ToInt32(memStream.Length));
Kann mir dabei jemand behilflich sein?
Vielen Dank im Voraus!
MfG
Jens
-
Hast etwas in deinen Stream hineingeschrieben? Wie hast du deinen Stream initialisiert?
-
Hi!
So habe ich ihn initialisiert:
Code :1
MemoryStream memStream = new MemoryStream();
Ich habe festgestellt, dass ich den zu kopierenden Stream in der Methode (stream) schließe.
Das habe ich erstmal rausgenommen.
Jetzt ist das Problem aufgetaucht, das ich den Stream in ein Byte-Array schreiben wollte. Dabei erstelle ich zwar ein Array mit der richtigen Länge, jedoch stehen keine Daten da drin.
Vielleicht nochmal als Hintergrund:
Ursprünglich habe ich versucht mit folgendem Code:
Code :1 2 3 4
MemoryStream stream = new MemoryStream(); this.picImage.Image.Save(stream, System.Drawing.Imaging.ImageFormat.Png); byte[] img = new byte[stream.Length]; stream.Read(img, 0, Convert.ToInt32(stream.Length));
Das Bild einer PictureBox als Byte-Array zu speichern, jedoch blieben auch dort die einzelen Felder des Arrays leer (0).
-
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Image img = this.pictureBox1.Image; if (img != null) { MemoryStream memStream = new MemoryStream(); img.Save(memStream, System.Drawing.Imaging.ImageFormat.Jpeg); if (memStream.Length > 0) { byte[] muh = memStream.ToArray(); string test = System.Text.Encoding.ASCII.GetString(muh,0,muh.Length); Console.WriteLine(test); } }
-
Super, vielen Dank!
Jetzt habe ich meine Daten wieder!
-
Und nicht vergessen, deinen Thread als erledigt zu markieren.
Ähnliche Themen
-
Objekt aus MemoryStream erstellen
Von Cromon im Forum .NET CaféAntworten: 3Letzter Beitrag: 10.05.10, 08:35 -
Geschlossenen MemoryStream wieder öffnen
Von Danielku15 im Forum .NET CaféAntworten: 4Letzter Beitrag: 20.07.09, 08:31 -
Convertierung eines Strings in MemoryStream
Von DK1FiWa im Forum .NET CaféAntworten: 1Letzter Beitrag: 29.05.09, 12:08 -
Vom memoryStream zur Ausführung ohne Umweg als File
Von milvus im Forum .NET DatenverwaltungAntworten: 5Letzter Beitrag: 30.11.06, 11:22 -
[C#] MemoryStream in Bitmap
Von havalan im Forum C/C++Antworten: 0Letzter Beitrag: 30.09.02, 14:57





Zitieren
Login





