Javascript 实现生成文件下载

8 5 月

代码实现了下载一个javascript blob对象,可用于下载javascript在线编辑图片,在线编辑文本等。

/* fileName: 默认下载文件名
blob: 下载Blob对象
*/
function download(fileName, blob){
    var aLink = document.createElement('a');
    var evt = document.createEvent("MouseEvents");
    evt.initEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
    aLink.download = fileName;
    aLink.href = URL.createObjectURL(blob);
    aLink.dispatchEvent(evt);
}

/* 文本转Blob对象 */
function stringToBlob(text) {
    var u8arr = new Uint8Array(text.length);
    for (var i = 0, len = text.length; i < len; ++i) {
        u8arr[i] = text.charCodeAt(i);
    }
    var blob = new Blob([u8arr]);
    return blob;
}

/* 使用demo */
var blob = stringToBlob('你好');
download('文件名.txt', blob);

One Reply to “Javascript 实现生成文件下载”

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注