diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index 69a0326db3..8f5d18271e 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -664,7 +664,7 @@ export default class Grid { as_dataurl: true, allow_multiple: false, on_success(file) { - var data = frappe.utils.csv_to_array(frappe.upload.get_string(file.dataurl)); + var data = frappe.utils.csv_to_array(frappe.utils.get_decoded_string(file.dataurl)); // row #2 contains fieldnames; var fieldnames = data[2]; diff --git a/frappe/public/js/frappe/misc/utils.js b/frappe/public/js/frappe/misc/utils.js index 99af0ecb5f..b8ae2818ae 100644 --- a/frappe/public/js/frappe/misc/utils.js +++ b/frappe/public/js/frappe/misc/utils.js @@ -702,6 +702,12 @@ Object.assign(frappe.utils, { } else { return filename; } + }, + get_decoded_string(dataURI) { + // decodes base64 to string + let parts = dataURI.split(','); + const encoded_data = parts[1]; + return decodeURIComponent(escape(atob(encoded_data))); } });