diff --git a/ui/helpers/utils/export-utils.js b/ui/helpers/utils/export-utils.js index b8c50ee25..d9f65e946 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); }