关于前端:将JSON下载为文件

36次阅读

共计 516 个字符,预计需要花费 2 分钟才能阅读完成。

// 保留 JSON 文件
saveJSONFile = (data, filename) => {if (typeof data === 'object') {// data = JSON.stringify(data, null, 4)
        // 勾销序列化丑化
        data = JSON.stringify(data)
    }

    // 构建下载对象
    const blobURL = new Blob([data], {type: 'text/json'})
    const tempLink = document.createElement('a')
    tempLink.style.display = 'none';
    tempLink.href = window.URL.createObjectURL(blobURL)
    tempLink.download = `${filename}.json`

    // 模仿点击
    document.body.appendChild(tempLink);
    tempLink.click();

    // 删除 DOM、开释对象 URL
    setTimeout(() => {document.body.removeChild(tempLink);
        window.URL.revokeObjectURL(blobURL);
    }, 200)
}

正文完
 0