Ich verwende ein AsyncFileUpload (AJAX Toolkit), um Bilder hochzuladen. Ich habe einen Button, mit dem die Bildgrößenänderung gehandhabt wird. Dies gearbeitet haben seit einiger Zeit in Ordnung, aber nicht mehr ...Image.FromStream (PostedFile.InputStream) schlägt fehl. (Der Parameter ist nicht gültig.) (AsyncFileUpload))
protected void BtnUploadImage_Click(object sender, EventArgs e)
{
var imageFileNameRegEx = new Regex(@"(.*?)\.(jpg|jpeg|png|gif)$",
RegexOptions.IgnoreCase);
if (!AsyncFileUpload1.HasFile ||
!imageFileNameRegEx.IsMatch(AsyncFileUpload1.FileName))
{
AsyncFileUpload1.FailedValidation = true;
ErrorLabel.Visible = true;
return;
}
ErrorLabel.Visible = false;
var file = AsyncFileUpload1.PostedFile.InputStream;
var img = Image.FromStream(file, false, false);
...
}
Eine andere Sache, die ich komisch finde: Wenn ich ein Bild versuchen, die als 80kb kleiner ist es funktioniert ..!
Wir haben versucht, den Server neu zu starten, aber keine Änderung. Derselbe Code läuft auf meinem Rechner einwandfrei. (gehört das vorher ?? :))
Ich habe auch versucht, die Datei auf dem Server zu speichern, dann die Datei durch Image.FromFile() zu bekommen, aber dann bekomme ich "Kann nicht auf eine geschlossene Datei zugreifen."
Wie löst man das?
Es gibt Code fehlt in Ihrem Snippet. –
@Joseph, ich denke, dass nur das Hinzufügen der Endstrebe an der Funktion falsch ist, kann es nicht einfach dort aufhören, die 'img' Variable wird nicht verwendet. –
Dachte nicht der Rest war relevant, was nach Image passiert.FromStream() wird trotzdem nicht ausgeführt. –