it.vsesobe.ru

Web-технологии.

Вывод файла на скачивание с помощью js из base64

Функция позволяет скачать base64 файл.
//base64file - строка с base64 закодированным файлом

function base64ToXlsx(base64file) {

    var base64Data = base64file;
    var nowTime = new Date().toLocaleDateString();
    var fileName = "AUP_" + nowTime + '.xlsx';
    var arrBuffer = base64ToArrayBuffer(base64Data);
    var newBlob = new Blob([arrBuffer], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" });
    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
        window.navigator.msSaveOrOpenBlob(newBlob);
        return;
    }
    var data = window.URL.createObjectURL(newBlob);
    var link = document.createElement('a');
    document.body.appendChild(link);
    link.href = data;
    link.download = fileName;
    link.click();
    window.URL.revokeObjectURL(data);
    link.remove();
}

function base64ToArrayBuffer(data) {
    var binaryString = window.atob(data);
    var binaryLen = binaryString.length;
    var bytes = new Uint8Array(binaryLen);
    for (var i = 0; i < binaryLen; i++) {
        var ascii = binaryString.charCodeAt(i);
        bytes[i] = ascii;
    }
    return bytes;
};