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 相关文章推荐
收藏一些不常用,但是有用的代码
Mar 12 Javascript
关于javascript中this关键字(翻译+自我理解)
Oct 20 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
Dec 28 Javascript
javascript实现的多个层切换效果通用函数实例
Jul 06 Javascript
原生ajax处理json格式数据的实例代码
Dec 25 Javascript
JavaScript html5利用FileReader实现上传功能
Mar 27 Javascript
Vue.js在使用中的一些注意知识点
Apr 29 Javascript
基于vue的短信验证码倒计时demo
Sep 13 Javascript
Angular设置别名alias的方法
Nov 08 Javascript
gulp构建小程序的方法步骤
May 31 Javascript
js中值引用和地址引用实例分析
Jun 21 Javascript
vue+mock.js实现前后端分离
Jul 24 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
php中CI操作多个数据库的代码
2012/07/05 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
2014/10/30 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
2017/02/04 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
走出JavaScript初学困境—js初学
2008/12/29 Javascript
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
js 省地市级联选择
2010/02/07 Javascript
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
js中获取 table节点各tr及td的内容简单实例
2016/10/14 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
python单线程实现多个定时器示例
2014/03/30 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
实例讲解python中的协程
2018/10/08 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
2012/12/28 HTML / CSS
Canvas与Image互相转换示例代码
2013/08/09 HTML / CSS
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
财务主管岗位职责
2014/02/28 职场文书
2014小学植树节活动总结
2014/03/10 职场文书
中介业务员岗位职责
2014/04/09 职场文书
职务任命书范本
2014/06/05 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书