Ich erhalte die Fehlermeldung „Upload ist zu groß, maximale Größe beträgt 4 MB“, wenn ich PDF-Dateien mit weniger als 4 MB hochlade.
Hier sind meine Tests:
Eine PDF-Datei mit 68 KB funktioniert wie erwartet.
Ich führe es auf meiner Testseite (4b561277a9) ohne Änderungen an max-Einstellungen oder Dateilimits aus, und es wird bei mir hochgeladen, wenn ich pdf zu authorized extensions hinzufüge, und gibt die korrekte Fehlermeldung “Sorry, the file you are trying to upload is not authorised” aus, wenn es auf die Standardeinstellung zurückgesetzt wird.
Gibt es noch etwas, das ich versuchen könnte, um zu sehen, ob ich es reproduzieren kann?
Nein, da die Dateigröße unter dem Standardlimit von nginx liegt. Das ist jedoch ein guter Hinweis.
Die Website, die @Julien_Palard selbst hostet, hat einen benutzerdefinierten Reverse-Proxy zwischen Discourse und dem Browser, daher kommt dieser Fehler wahrscheinlich von einem falsch konfigurierten Reverse-Proxy.
Ich erhalte von nginx einen 413 Request Entity Too Large-Fehler, daher muss ich genauer untersuchen, warum ein „großes“ Bild in Ordnung ist, ein „nicht so großes“ PDF jedoch nicht …
Das 3,0 MB große JPG hat eine Content-Length von 557215, also überraschenderweise 0,5 MB!
Das 2,3 MB große PDF hat eine Content-Length von 2460137, also erwartungsgemäß 2,3 MB.
Skaliert Discourse das JPG vor dem Hochladen?
Bei meinen durchlaufenden JPEGs sehe ich, dass die Bildbreite und -höhe nach dem Hochladen in Discourse unterschiedlich sind (versucht mit https://apod.nasa.gov/apod/image/2209/DSCF4968_PS_Lioce.jpg, es ist ein 5703x3892, 3,6 MB großes Bild, aber nach dem Hochladen ist es ein 1920×1310 mit 153 KB).