Bild-Upload-Fehler bei Verwendung des Resizers

Wenn Sie versuchen, ein großes PNG hochzuladen, das geändert werden muss, um die max image size kb-Grenze einzuhalten, erhalten Sie einen Fehler:

lib/discourse.rb:57:in `exec': convert: improper image header `/tmp/image20200221-243-17ldizm.jpg' @ error/png.c/ReadPNGImage/4294.

Wenn Sie die Dateierweiterung des Bildes in .jpeg ändern, wird es problemlos hochgeladen!

Es funktioniert auch einwandfrei, wenn Sie max image size kb auf den Standardwert zurücksetzen. Es scheint jedoch, dass das Bild trotzdem als JPEG umbenannt wird.

Hier ist das Bild: Dropbox


Edit: Mir ist gerade auch noch folgender Hinweis unter der Option max image size kb aufgefallen:

Die maximale Größe für Bild-Uploads in kB. Dies muss ebenfalls in nginx (client_max_body_size) / Apache oder einem Proxy konfiguriert werden.

Ich glaube nicht, dass ich das getan habe – könnte das die Ursache sein? (Gibt es Beispiele, wo man dies bearbeiten kann?)

1 „Gefällt mir“

Es sollte möglich sein, diesen Wert zu erhöhen, indem Sie einen Parameter upload_size zur Datei app.yml Ihrer Site hinzufügen. Weitere Details finden Sie unter Change the maximum attachment/upload size.

5 „Gefällt mir“

Ich habe max image size kb auf 500k geändert und es wurde hochgeladen. Ich frage mich jedoch, ob die den Benutzern angezeigte Fehlermeldung nicht einfach so lauten sollte: „Upload fehlgeschlagen: Bildgröße zu groß, bitte verkleinern und erneut versuchen“?

5 „Gefällt mir“

Die Fehlermeldung ist wirklich schlecht, aber ich frage mich, wie viele Leute diese Einstellung überhaupt ändern?

5 „Gefällt mir“

Ich kann mich nicht mehr genau erinnern, aber wenn ich mich recht entsinne, versucht Discourse, ein hochgeladenes Bild zu verkleinern, wenn es größer als der eingestellte Wert ist und dieser Wert herabgesetzt wurde.

Ich glaube, das hängt mit der Einstellung „png zu jpg Qualität

1 „Gefällt mir“

Das war auch meine Vorstellung … dass es eine Verkleinerung gibt, die große Uploads auf dem Server verarbeitet.

EDIT/UPDATE:

Es wurde hier mittlerweile recht gut beschrieben:

5 „Gefällt mir“

@dan, kannst du eine Möglichkeit finden, um eine bessere Fehlermeldung anzuzeigen, wenn ein Benutzer versucht, ein sehr großes Bild hochzuladen? Geringe Priorität.

4 „Gefällt mir“

Ich habe die beiden Probleme hier behoben:

  1. Die Bildoptimierungspipeline hat PNGs in JPEGs konvertiert und versucht, die resultierenden JPEGs mit den Operationen für PNG-Bilder zu optimieren.

  2. ImageMagick-Fehler wurden an den Benutzer zurückgegeben, waren aber überhaupt nicht hilfreich (z. B. convert: improper image header...)

8 „Gefällt mir“