Erreur de téléversement d'image lors de l'utilisation du redimensionneur

Si vous essayez de télécharger un gros PNG qui doit être redimensionné pour respecter la limite de max image size kb, vous obtenez une erreur :

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

Si vous changez l’extension de l’image en .jpeg, le téléchargement se déroule sans problème !

Cela fonctionne également bien si vous réinitialisez max image size kb à la valeur par défaut, mais il semble que l’image soit renommée en jpeg de toute façon.

Voici l’image : Dropbox


Édition : Je viens aussi de remarquer ceci sous l’option max image size kb :

La taille maximale de téléchargement d’image en ko. Cela doit également être configuré dans nginx (client_max_body_size) / apache ou un proxy.

Je ne pense pas avoir fait cela – cela pourrait-il en être la cause ? (des exemples sur où modifier cela ?)

1 « J'aime »

Il devrait être possible d’augmenter cette valeur en ajoutant un paramètre upload_size au fichier app.yml de votre site. Consultez Change the maximum attachment/upload size pour plus de détails.

5 « J'aime »

J’ai modifié max image size kb à 500k et cela a été téléchargé avec succès. Je me demande toutefois si le message d’erreur affiché aux utilisateurs ne devrait pas être simplement : « Échec du téléchargement : l’image est trop volumineuse, veuillez la redimensionner et réessayer » ?

5 « J'aime »

Le message d’erreur est vraiment mauvais, bien que je me demande combien de personnes changent ce paramètre dès le départ ?

5 « J'aime »

Je ne m’en souviens plus avec certitude, mais si ma mémoire est bonne, si vous réduisez ce paramètre et qu’une image téléchargée est plus grande que cette limite, Discourse tentera de redimensionner l’image pour la faire rentrer dans les limites.

Je pense que cela est lié au paramètre « qualité de conversion PNG en JPG » ? Cela fait un moment maintenant, mais je crois que Sam a travaillé sur le redimensionneur d’images.

En ce qui concerne toute personne souhaitant le modifier (ou plutôt souhaiter des tailles d’image plus petites), je suppose que cela concerne tout site où la qualité de l’image est moins importante (donc la plupart des sites, à l’exception des sites de photographie).


Une recherche rapide a donné ce résultat — il semble donc que le redimensionneur n’ait pas encore été implémenté (mais j’étais certain qu’il l’était :thinking:)

1 « J'aime »

C’était aussi ma compréhension… qu’il y avait un mécanisme de réduction de taille qui traite les gros fichiers téléchargés sur le serveur.

MODIFICATION/MISE À JOUR :

Cela a été assez bien décrit ici maintenant :

5 « J'aime »

@dan, peux-tu trouver un moyen d’afficher un message d’erreur plus clair lorsqu’un utilisateur tente de télécharger une image très volumineuse ? Priorité basse.

4 « J'aime »

J’ai corrigé les deux problèmes ici :

  1. Le pipeline d’optimisation d’images convertissait les PNG en JPEG, puis tentait d’optimiser les JPEG résultants en utilisant les opérations destinées aux images PNG.

  2. Les erreurs d’ImageMagick étaient renvoyées à l’utilisateur, mais elles n’étaient d’aucune aide (par exemple : convert: improper image header...)

8 « J'aime »