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 相关文章推荐
Mootools 1.2教程 Tooltips
Sep 15 Javascript
jquery实现多级下拉菜单的实例代码
Oct 02 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
Nov 21 Javascript
node.js中的fs.readlinkSync方法使用说明
Dec 17 Javascript
jQuery中outerWidth()方法用法实例
Jan 19 Javascript
浅谈addEventListener和attachEvent的区别
Jul 14 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
Sep 12 Javascript
EditPlus中的正则表达式 实战(2)
Dec 15 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
Jan 08 Javascript
node.js利用redis数据库缓存数据的方法
Mar 01 Javascript
Vue.js组件props数据验证实现详解
Oct 19 Javascript
何时使用Map来代替普通的JS对象
Apr 29 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
ThinkPHP模板标签eq if 中区分0,null,false的方法
2017/03/24 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
2013/10/29 Javascript
JS获取url链接字符串 location.href
2013/12/23 Javascript
Bootstrap每天必学之导航条
2015/11/27 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
javascript数据类型详解
2017/02/07 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
基于Swiper实现移动端页面图片轮播效果
2017/12/28 Javascript
使用async-validator编写Form组件的方法
2018/01/10 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
node.js ws模块搭建websocket服务端的方法示例
2019/04/25 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
Vue watch响应数据实现方法解析
2020/07/10 Javascript
python在linux中输出带颜色的文字的方法
2014/06/19 Python
Python装饰器的函数式编程详解
2015/02/27 Python
Python与Redis的连接教程
2015/04/22 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
2017/05/16 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
详解Django admin高级用法
2019/11/06 Python
django 解决自定义序列化返回处理数据为null的问题
2020/05/20 Python
出纳的岗位职责
2013/11/09 职场文书
男方父母证婚词
2014/01/12 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
婚庆公司计划书
2014/09/15 职场文书
2015年社区综治工作总结
2015/04/21 职场文书
关于保护环境的建议书
2019/06/24 职场文书