JAVAScript把把文件数据保存到本地(下载文件)

// <input type="file" name="file" id="file"/>
let fileEl = document.getElementById("file")
fileEl.onchange = function () {
    let file = fileEl.files[0]
    /*
    把文件转成url
    createObjectURL()参数可以传blob或者file
     */
    let url = URL.createObjectURL(file)
    let a = document.createElement("a")
    /*
    a.innerHTML = "下载文件"
    或者 a.innerText = "下载文件"
    该属性可有可无,如果页面需要显示a标签,则保留属性;
    反之则无需保留该属性
     */
    // a.innerHTML = "下载文件"
    a.style.display = "none"
    a.href = url
    /*
    这个属性为关键属性,如果不添加download属性,
    则会直接在浏览器打开该文件,对于浏览器不能打
    开的文件会显示乱码,比如压缩包
     */
    a.download = file.name
    document.body.appendChild(a)


    //为a标签赋予点击事件并点击,如果是手动点击,则无需赋予事件
    let evt = document.createEvent("MouseEvents");
    evt.initEvent("click", true, true);
    a.dispatchEvent(evt);
    //下载完成之后删除a标签
    document.body.removeChild(a);
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值