js点击按钮下载图片或文件

html代码

    <div class="datu">
        <input type="file" name="myfile" id="myfile" accept="image/*" multiple>
        <button>下载</button>
        <input type="text" placeholder="下载的图片名" class="tp">
    </div>

js代码

		//点击按钮保存图片
        //获取到下载按钮(切记需要先选择图片上传完才能下载,否则获取不到文件流)
        let xiazai = document.querySelector(".datu>button")
        //使用input的file类型获取到上传的图片(下载文件需要blob流或者files流,因此这里需要先获取到流才能才能用这个流给a标签href属性赋值)
        const input = document.querySelector("[name=myfile]");
        //按钮点击下载图片
        xiazai.addEventListener("click",function(){
            //获取下载的文件名
            let text = document.querySelector(".tp").value;
            //创建a标签
            var bqa = document.createElement("a");
            //给a标签的href属性赋值
            bqa.setAttribute("href", URL.createObjectURL(input.files[0]));
            //给a标签的download属性赋值,表示下载的文件名
            bqa.setAttribute("download", text+".png");
            //调用a标签的点击事件
            bqa.click();
            //移除a标签
            bqa.remove()
        })
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧寂173

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值