From bfbd65237ee98095f18bbdf9fa5dd229c0d8d8a6 Mon Sep 17 00:00:00 2001 From: weizman Date: Tue, 7 Mar 2023 12:47:45 +0200 Subject: [PATCH] Avoid blob url for files downloads (#17986) --- ui/helpers/utils/export-utils.js | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/ui/helpers/utils/export-utils.js b/ui/helpers/utils/export-utils.js index b8c50ee255c8..d9f65e9466d7 100644 --- a/ui/helpers/utils/export-utils.js +++ b/ui/helpers/utils/export-utils.js @@ -1,19 +1,13 @@ import { getRandomFileName } from './util'; export function exportAsFile(filename, data, type = 'text/csv') { + const b64 = Buffer.from(data, 'utf8').toString('base64'); // eslint-disable-next-line no-param-reassign filename = filename || getRandomFileName(); - // source: https://stackoverflow.com/a/33542499 by Ludovic Feltz - const blob = new window.Blob([data], { type }); - if (window.navigator.msSaveOrOpenBlob) { - window.navigator.msSaveBlob(blob, filename); - } else { - const elem = window.document.createElement('a'); - elem.target = '_blank'; - elem.href = window.URL.createObjectURL(blob); - elem.download = filename; - document.body.appendChild(elem); - elem.click(); - document.body.removeChild(elem); - } + const elem = window.document.createElement('a'); + elem.href = `data:${type};Base64,${b64}`; + elem.download = filename; + document.body.appendChild(elem); + elem.click(); + document.body.removeChild(elem); }