JavaScript在瀏覽器中把文本保存為文件的方法
經過測試第二種方法可以保存更多的文本不至於卡死
var saveTextAsFile1 = function (text, fileName, success, error) { var data = text; if (!(text instanceof Array)) { data = [text]; } var file = new File(data, fileName); var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function (r) { var url = reader.result; downLoadFile(url, fileName, function () { success && success(); }, function () { error && error(); }); }; } /** * 下載文件 * @param {string, Array} text * @param {string} fileName * @param {function} success * @param {function} error */ var saveTextAsFile = function (text, fileName, success, error) { var data = text; if (!(text instanceof Array)) { data = [text]; } var urlObject = window.URL || window.webkitURL || window; var export_blob = new Blob(data); var url = urlObject.createObjectURL(export_blob); downLoadFile(url, fileName, function () { success && success(); }, function () { error && error(); }); }
exportExcel() { exportExcel().then(res => { const blob = new Blob([res], { type: 'application/octet-stream;charset=utf-8', name: 'sss.xls' }) const url = URL.createObjectURL(blob) const a = document.createElement('a') a.href = url a.download = '資源目錄.xlsx' a.click() }) },