Download CSV saved in JSON as file

by Sascha

HTML

<button>
Download file
</button>

JavaScript

let jsonFile = {
  "FileName": "Report_Month Template_2001-04-30_22-00Z_2001-05-31_22-00Z.csv",
  "Content": "VGVtcGxhdGUgbmFtZTtNb250aCBUZW1wbGF0ZQpUaW1lIFJhbmdlO01vbnRoClN0YXJ0OzIwMDEtMDUtMDFUMDA6MDA6MDAuMDAwCkVuZDsyMDAxLTA2LTAxVDAwOjAwOjAwLjAwMApDb21wbGV0ZTtmYWxzZQoKCgpLUElzCgpLUEk7TGluZS9NYWNoaW5lIE5hbWU7VmFsaWQgUmVzdWx0O1ZhbHVlO0Vycm9yIG1lc3NhZ2UKT3ZlcmFsbCBsaW5lIGVmZmljaWVuY3k7O3RydWU7MDsKUHJvZHVjZWQgcXVhbnRpdHk7TDFfQ09NQklTTUlMRTt0cnVlOzA7CgpDaGFydHMKCgoK"
}

$('button').on('click', function() {
        var blob1 = new Blob([atob(jsonFile.Content)], { type: "application/csv;charset=utf-8" });
 
        //Check the Browser.
        var isIE = false || !!document.documentMode;
        if (isIE) {
            window.navigator.msSaveBlob(blob1, jsonFile.FileName);
        } else {
            var url = window.URL || window.webkitURL;
            link = url.createObjectURL(blob1);
            var a = document.createElement("a");
            a.download = jsonFile.FileName;
            a.href = link;
            document.body.appendChild(a);
            a.click();
            document.body.removeChild(a);
        }
});