Ich habe eine Seite, die HTML5-Canvas-Daten sendet, die als Base64-BMP-Bild (mit diesem Algorithmus Ссылка ) codiert sind ein serverseitiger Prozess, der es in ein System.Drawing.Image-Objekt konvertiert und einige Operationen darauf ausführt.
In meiner lokalen Umgebung funktioniert das gut, aber auf meiner ec2-Instanz erhalte ich den folgenden Fehler:
System.ArgumentException: Parameter ist nicht gültig. beim System.Drawing.Image.FromStream (Stream-Stream, Boolean useEmbeddedColdManagement, Boolean validateImageData) um System.Drawing.Image.FromStream (Stream-Stream, Boolean useEmbeddedColourManagement)
Mein Code sieht folgendermaßen aus:
%Vor%Hier ist eine Textdatei mit einem Beispiel-b64-String, den ich zum Testen verwende: Ссылка
Ich habe auch Folgendes versucht und hatte die gleichen Ergebnisse:
%Vor%Jede Einsicht würde sehr geschätzt werden!
Ich kenne immer noch nicht die wahre Ursache Ihres Problems, aber ich denke, es hängt mit einem Bildformat zusammen, das Image
class nicht erkennt. Nachdem ich die Binärdaten ein wenig inspiziert habe, könnte ich in der Lage sein, Ihr Bild zu erstellen. Ich hoffe, das hilft.
Der gepostete Code scheint korrekt zu sein. Ich habe es getestet und es funktioniert gut.
Die Ausnahme "System.ArgumentException: Parameter ist nicht gültig." ohne irgendeinen anderen Hinweis (besonders nicht den Namen des Parameters) ist ein Wrapper für GDI + (die zugrundeliegende Technologie hinter der Klasse .NET Image) InvalidParameter Fehler, der nicht genau angibt, welcher Parameter ungültig ist.
Nach dem Code FromStream
mit .NET Reflector können wir sehen, dass die in GDI + -Aufrufen verwendeten Parameter im Wesentlichen ... der Eingabestrom sind.
Also meine Vermutung ist, dass der von Ihnen bereitgestellte Eingabestream manchmal als Bild ungültig ist? Sie sollten die fehlgeschlagenen Eingabeströme (z. B. mit File.SaveAllBytes (sf)) für weitere Untersuchungen speichern.
Dies könnte passieren, wenn sf
ungültige Bilddaten enthält. Überprüfen Sie die Gültigkeit der Daten, die Sie in den Stream übertragen, und prüfen Sie, ob dadurch Ihr Problem behoben wird.
Tags und Links c# asp.net image-processing