blob对象实现文件的下载和图片预览

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    前端的blob对象-- 文件的下载*图片的预览
    <a id="btn">跳转</a> <br />

    <input type="file" id="input" />
    <!-- 下载文件 -->
  </body>
</html>
<script>
  // var str = "33332222";
  var str = `<div>
      <div>
        <p>123</p>
      </div>
    </div>`;
  var blob = new Blob([str], {
    // type: "text/plain",
    type: "text/html",
  }); //得到字符串长度size    type:文本类型
  blob.text().then((res) => console.log(2222, res)); //获取文本内容

  //点击下载 123.html 文本
  btn.onclick = function (e) {
    this.setAttribute("download", "123.html");
    this.href = URL.createObjectURL(blob);
  };

  //上传本地保存的html文件---然后下载html文件
  input.onchange = function (e) {
    var file = e.target.files[0];
    // var a = document.createElement("a");
    // a.setAttribute("download", "myBaidu.html");
    // a.href = window.URL.createObjectURL(file);
    // a.click();

    //图片预览
    var img = new Image();
    var fileRead = new FileReader(); //异步需要 new FileReader()
    //同步方式
    // img.src = URL.createObjectURL(file);
    document.body.appendChild(img);

    //异步方式
    fileRead.onload = function () {
      img.src = fileRead.result;
    };
    fileRead.readAsDataURL(file);
  };
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值