js如何获取图片url的Blob值并预览示例代码


Posted in Javascript onMarch 07, 2019

前言

Blob 对象表示一个不可变、原始数据的类文件对象。Blob 表示的不一定是JavaScript原生格式的数据。File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。

本文主要给大家介绍了关于js获取图片url的Blob值并预览的相关内容,下面话不多说了,来一起看看详细的介绍吧

方法如下

1)使用 XMLHttpRequest 对象获取图片url的Blob值

//获取图片的Blob值
function getImageBlob(url, cb) {
 var xhr  = new XMLHttpRequest();
 xhr.open("get", url, true);
 xhr.responseType = "blob";
 xhr.onload = function() {
 if (this.status == 200) {
  if(cb) cb(this.response);
 }
 };
 xhr.send();
}

注意这里的XMLHttpRequest必须使用异步模式,同步模式不能设置 responseType = "blob"

 2)使用 FileReader 对象获取图片 Blob 对象的 data 数据

function preView(url){
 let reader = new FileReader();

 getImageBlob( url , function(blob){
 reader.readAsDataURL(blob);
 });

 reader.onload = function(e) {
 var img = document.createElement("img");
 img.src = e.target.result;
 document.body.appendChild(img);
 }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
Feb 03 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
Dec 11 Javascript
javascript基本类型详解
Nov 28 Javascript
jQuery 和 CSS 的文本特效插件集锦
Dec 12 Javascript
在JavaScript中操作时间之setYear()方法的使用
Jun 12 Javascript
javascript创建对象、对象继承的实用方式详解
Mar 08 Javascript
js实现可控制左右方向的无缝滚动效果
May 29 Javascript
使用use注册Vue全局组件和全局指令的方法
Mar 08 Javascript
vuejs实现标签选项卡动态更改css样式的方法
May 31 Javascript
JS实现判断有效的数独算法示例
Feb 25 Javascript
微信小程序tabBar 返回tabBar不刷新页面
Jul 25 Javascript
Vue中keep-alive组件的深入理解
Aug 23 Javascript
mpvue全局引入sass文件的方法步骤
Mar 06 #Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
Mar 06 #Javascript
vue项目前端埋点的实现
Mar 06 #Javascript
vue2.0结合Element-ui实战案例
Mar 06 #Javascript
JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
Mar 06 #Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
Mar 06 #jQuery
微信小程序利用swiper+css实现购物车商品删除功能
Mar 06 #Javascript
You might like
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
2009/10/22 PHP
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
php object转数组示例
2014/01/15 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
Laravel实现ApiToken认证请求
2019/10/14 PHP
关于jQuery的inArray 方法介绍
2011/10/08 Javascript
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
jquery中选择块并改变属性值的方法
2013/07/31 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
jQuery zTree加载树形菜单功能
2016/02/25 Javascript
JavaScript+CSS实现的可折叠二级菜单实例
2016/02/29 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
2016/03/02 Javascript
javascript对象的创建和访问
2016/03/08 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
python使用7z解压软件备份文件脚本分享
2014/02/21 Python
Python判断文件或文件夹是否存在的三种方法
2017/07/27 Python
tensorflow 中对数组元素的操作方法
2018/07/27 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
2018/11/10 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
英国领先的维生素和营养补充剂直接供应商:Healthspan
2019/04/22 全球购物
Sandro法国官网:法国成衣品牌
2019/08/28 全球购物
班组拓展活动方案
2014/08/14 职场文书
停电放假通知
2015/04/14 职场文书
详解PHP设计模式之依赖注入模式
2021/05/25 PHP