Erstellen und speichern Sie ein Bild aus einem byte[] bewirkt, daß der Parameter ist nicht gültig, Ausnahme
Habe ich implementiert die folgende Funktionalität verbindet, um webservice-und downloads ein favicon von einem bestimmten Ort und spart ein byte [], die ich speichern in unserer Datenbank. Ich will jetzt es so einrichten, dass es speichert das icon auf der Festplatte. Aber ich bin immer ein "Parameter ist nicht gültig" wenn ich versuchen, und erstellen Sie das Bild aus dem byte[].
Mein code ist wie folgt..
stream.Write(imageByteArray, 0, imageByteArray.Length);
Image i = Image.FromStream(stream); //EXCEPTION HAPPENS HERE.
i.Save(@"C:\tmp\" + filename + ".ico");
Ausnahme tritt auf der mittleren Linie.
Dieser code funktioniert perfekt, 9 mal von zehn, aber für einige favicons, dachte sogar das Symbol ist ein gültiges Bild (oder zumindest es zu sein scheint und es zeigt sich in den browser, wenn Sie darauf) bekomme ich diese exception.
Hat jemand irgendwelche Ideen? Ich bin ziehen meine Haare hier!
Dank
Dave
Edit: Der Wert in dem array, das erscheint zu werfen, der Fehler ist 127.
- Wie sammeln Sie diese
favicon
Dateien? Sind Sie sicher, dass die Datei immer vorhanden ist? Überprüfen Sie fürimageByteArray.Length == 0
? - Ja, ich bin sicher, dass das array nicht null ist und wenn ich speichern Sie dieses Symbol, um die Db funktioniert es einwandfrei.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine Notwendigkeit, um es in ein Bild, nur spucken die bytes, die gerade heraus:
using
Aussage eher als das öffnen und schließen des Streams manuell.Ich wusste, Sie hatte die Antwort, die Sie brauchen, aber ich will einfach weiter auf Ihrer ursprünglichen Idee. Ich denke das problem ist dein byte-array irgendwie verändert worden war und sich byte-char-array, Sie müssen nur fügen Sie diesen code machen es zu byte-array wieder:
Ich hatte dieses problem und es gelöst, von dieser Lösung. Viel Glück!
Bild hinzufügen, format: