diff --git a/app/assets/javascripts/discourse/lib/to-markdown.js b/app/assets/javascripts/discourse/lib/to-markdown.js index 83d7b28d04..25e49bfc85 100644 --- a/app/assets/javascripts/discourse/lib/to-markdown.js +++ b/app/assets/javascripts/discourse/lib/to-markdown.js @@ -291,6 +291,10 @@ export class Tag { } if (src) { + if (src.match(/^data:image\/([a-zA-Z]*);base64,([^\"]*)$/)) { + return "[image]"; + } + let alt = attr.alt || pAttr.alt || ""; const width = attr.width || pAttr.width; const height = attr.height || pAttr.height; diff --git a/test/javascripts/lib/to-markdown-test.js b/test/javascripts/lib/to-markdown-test.js index bcda89c9f2..3ae081d0fb 100644 --- a/test/javascripts/lib/to-markdown-test.js +++ b/test/javascripts/lib/to-markdown-test.js @@ -413,3 +413,9 @@ there is a quote above assert.equal(toMarkdown(html), markdown.trim()); }); + +QUnit.test("strips base64 image URLs", assert => { + const html = + ''; + assert.equal(toMarkdown(html), "[image]"); +});