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 个赞

这是我近期见过的最棒的 Contribute > Bug 报告 :+1:

原来,draw.io 导出的 SVG 文件包含一个 <!DOCTYPE>,而我们用于获取图像尺寸的 不支持它。

我们已提交了一个 PR,并发布了 临时 gem,以便我们可以使用它;)

9 个赞