Cannot attach SVG from draw.io

Hello,

I use draw.io to render technical diagrams. It is often of benefit to attach these to discussion topics to further a conversation or demonstrate an idea. Draw.io has the ability to export in SVG format, which is my preference when working with other discussion software.

When attempting to attach an SVG image generated through draw.io to a Discourse topic, I am unable to do so. Instead, I receive this error:

Sorry, but we couldn’t determine the size of the image. Maybe your image is corrupted?

I am currently uncertain if there is something special about the SVG format that draw.io uses, or if Discourse is having trouble dealing with SVG files.

Steps to reproduce

A sample SVG file is available for your use. Alternatively, follow the steps below:

  1. Head to draw.io and start a new diagram.
  2. Add any arbitrary shape (just one is fine) to the diagram.
  3. Head to File > Export As > SVG…
  4. Accept the defaults and hit Export.
  5. Create a new Discourse topic.
  6. Attempt to upload your SVG file.

Expected Result: SVG file is attached to the topic and (hopefully) rendered for users.

Actual Result: Unable to attach file. Error message received as follows:

Sorry, but we couldn’t determine the size of the image. Maybe your image is corrupted?

7 „Gefällt mir“

Bestes #contribute:Bug-Report, das ich seit langem gesehen habe :+1:

Es stellt sich heraus, dass draw.io SVGs mit einer <!DOCTYPE> exportiert, die von der Bibliothek, die wir zur Bestimmung der Bildabmessungen verwenden, nicht unterstützt wird.

Ich habe einen PR erstellt und ein temporäres Gem veröffentlicht, damit wir es verwenden können :wink:

9 „Gefällt mir“