当前位置: 首页 > article >正文

文件下载和图片预览 Blob FileReader

1、通过url地址来下载文件

优点 : 使用简单,其余的不知道了

<a href='xxxxxx' download></a>

<!-- xxxxxx如果是同源,则会下载 -->
<!-- xxxxxx如果是本地文件路径,也会下载 -->

2.自己写模板下载

好处:可以灵活控制模板的变量,便于自定义

var str1 = `
			<div>我的名字是:小明</div>
			<div>我的年龄是:22</div>
		  `
var str2 = `
			<div>我的爱好是:打篮球</div>
		   `
// 第一个参数的所有项目会拼接在一块
var blob = new Blob([str1,str2],{
	type:'text/html'
})

var a = document.getElementById('a')
a.onclick = function () {
    // 同步下载
    this.setAttribute('download', 'hello.html')
    this.href = URL.createObjectURL(blob)
}

3. 图片预览

本质上,图片和文件是没有差别的,这里演示的是图片的

同步的方式

<body>
    <input type="file" value="图片预览" id="pic">
    <script>
        pic.onchange = function (e) {
            // e.target.files[0] 实际上就是继承了Blob的文件对象
            var file = e.target.files[0]
            var img = new Image()
            img.src = URL.createObjectURL(file)
            document.body.appendChild(img)

        }
    </script>
</body>

结果:

在这里插入图片描述

同步方式

<body>
    <input type="file" value="图片预览" id="pic">
    <script>
        pic.onchange = function (e) {
            // e.target.files[0] 实际上就是继承了Blob的文件对象
           	var file = e.target.files[0]
            
          	var img = new Image()
          	document.body.appendChild(img)
            
            // FileReader其实也是继承Blob对象的一种
            var fileRead = new FileReader()
            fileRead.readAsDataURL(file)
            fileRead.onload = function(){
				img.src = fileRead.result
	  		}
        }
    </script>
</body>

http://www.kler.cn/a/430617.html

相关文章:

  • lv_ffmpeg学习及播放rtsp
  • GoFrame框架介绍
  • 【联动】【MSS】【AF】
  • Java技术专家视角解读:SQL优化与批处理在大数据处理中的应用及原理
  • AppAgent 源码 (xml 解析)
  • C++ 指针进阶:动态内存与复杂应用
  • elementUI修改table样式
  • SQL面试题——连续问题 连续点击三次用户
  • 5G中的随机接入过程可以不用收RAR?
  • Android可长按拖拽item的列表
  • U2F和FIDO2 两种安全认证技术优劣势对比
  • 【万字详解】三维重建(二)——NeRF、NeuS、MeshUDF、NeuralUDF、3DGS、GShell
  • C语言单元总结
  • 虚幻引擎游戏开发专题-1-引擎术语
  • 关于转包关系和挂靠关系的认定
  • 【JavaEE初阶】CSS
  • 云贝教育【Oracle技术文章-Oracle 19c之PDB重命名】
  • 网络安全法 -网络信息安全
  • 深度学习的unfold操作
  • Flink WebUI解析(待更新)
  • 【iOS】UITextView
  • Ubuntu20.04调整swap分区大小笔记
  • 若依集成更好用的easyexcel
  • Freertos任务切换
  • P2440 木材加工(py)
  • 智能电网技术如何助力能源转型?