Les images SVG avec une dimension inférieure à 1 échouent à l'upload

Le téléchargement d’une image SVG dans un message, où l’attribut de hauteur ou de largeur de l’élément SVG principal possède une taille numérique inférieure à « 1 » (en ignorant les unités associées), échoue avec le message :

Désolé, mais nous n’avons pas pu déterminer la taille de l’image. Votre image est peut-être corrompue ?

Il semble que les attributs de hauteur et de largeur soient vérifiés et que le téléchargement soit rejeté avant que le code associé à FIX - use ImageMagick to determine size of SVG images by jbrw · Pull Request #12230 · discourse/discourse · GitHub n’ait la possibilité d’utiliser les informations d’unité pour déterminer la taille d’affichage réelle. Une recherche sur le forum pour

svg « déterminer la taille de l’image » « votre image est peut-être corrompue »

renvoie actuellement 9 résultats. Comment inclure des icônes FontAwesome dans les messages ? semble avoir la même cause, mais ce rapport est ancien et censé avoir été corrigé.

Après quelques recherches, cela semble être un problème avec la bibliothèque fastimage utilisée. J’ai créé un ticket à ce sujet pour Images SVG avec de petites dimensions détectées comme zéro pixel, en ignorant les unités, et je le référence ici. En supposant que la bibliothèque fastimage soit corrigée, il faudra probablement toujours apporter une modification à Discourse pour intégrer la version mise à jour.

Voici le code source XML de l’exemple de fichier SVG qui échoue.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
  xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
  width="1.2in" height="0.9in"
  viewBox="0 0 1200 900"
>
  <line x1="1100" x2="100" y1="100" y2="800" stroke="#000000" stroke-width="50"/>
</svg>

Ci-dessous se trouvent les images qui démontrent de légères modifications permettant à l’image ci-dessus de fonctionner dans le forum. Elles correspondent aux pièces jointes du ticket GitHub référencé.

image2

image4

Merci pour la description détaillée du problème.

J’ai réussi à reproduire le problème de mon côté et je pense que cette demande de fusion devrait résoudre le problème que vous décrivez.

Édit : Étrange… les tests passent chez moi en local, mais échouent après que je les ai poussés. Je m’en occuperai demain.

2 « J'aime »

Cela a été fusionné la semaine dernière.

@µMerlin Peux-tu mettre à jour les éléments de ton côté et confirmer que tout est bon maintenant ?

1 « J'aime »

Ce sujet a été automatiquement fermé après 4 jours. De nouvelles réponses ne sont plus autorisées.