|
|
@@ -184,21 +184,31 @@ export const util = { |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
handleResponseToDownloadAsFile: function(fileName) { |
|
|
|
return function(response) { |
|
|
|
return downloadBlob(response.blob(), fileName); |
|
|
|
}; |
|
|
|
}, |
|
|
|
|
|
|
|
handleDataToDownloadAsFile: function(fileName, mimeType) { |
|
|
|
return function(data) { |
|
|
|
// Original taken from: https://javascript.info/blob#blob-as-url |
|
|
|
const uri = URL.createObjectURL(new Blob([data], {type: mimeType})); |
|
|
|
try { |
|
|
|
util.downloadURI(uri, fileName); |
|
|
|
} catch(err) { |
|
|
|
return Promise.reject(err); |
|
|
|
} finally { |
|
|
|
URL.revokeObjectURL(uri); |
|
|
|
} |
|
|
|
return 'ok'; |
|
|
|
return downloadBlob(new Blob([data], {type: mimeType}), fileName); |
|
|
|
}; |
|
|
|
}, |
|
|
|
|
|
|
|
downloadBlob: function(blob, fileName) { |
|
|
|
// Original taken from: https://javascript.info/blob#blob-as-url |
|
|
|
const uri = URL.createObjectURL(blob); |
|
|
|
try { |
|
|
|
util.downloadURI(uri, fileName); |
|
|
|
} catch(err) { |
|
|
|
return Promise.reject(err); |
|
|
|
} finally { |
|
|
|
URL.revokeObjectURL(uri); |
|
|
|
} |
|
|
|
return 'ok'; |
|
|
|
}, |
|
|
|
|
|
|
|
downloadURI: function(uri, name) { |
|
|
|
const link = document.createElement("a"); |
|
|
|
link.download = name; |
|
|
|