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 相关文章推荐
js跨域和ajax 跨域问题的实现思路
Sep 05 Javascript
javascript 定义初始化数组函数
Sep 07 Javascript
JavaScript 面向对象编程(2) 定义类
May 18 Javascript
JS字符串函数扩展代码
Sep 13 Javascript
ext前台接收action传过来的json数据示例
Jun 17 Javascript
jQuery实现带渐显效果的人物多级关系图代码
Oct 16 Javascript
js实现瀑布流的三种方式比较
Jun 28 Javascript
微信小程序 解析网页内容详解及实例
Feb 22 Javascript
vue项目设置scrollTop不起作用(总结)
Dec 21 Javascript
vue-cli3 karma单元测试的实现
Jan 18 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
Aug 26 Javascript
vue3.0 加载json的方法(非ajax)
Oct 26 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使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
浅谈php7的重大新特性
2015/10/23 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
jQuery学习笔记之jQuery的DOM操作
2010/12/22 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
Javascript限制网页只能在微信内置浏览器中访问
2014/11/09 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
vue实现验证码按钮倒计时功能
2018/04/10 Javascript
深入浅析Node环境和浏览器的区别
2018/08/14 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
2018/10/19 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
2019/09/18 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
Python程序退出方式小结
2017/12/09 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
2018/06/27 Python
详解Python sys.argv使用方法
2019/05/10 Python
python安装pil库方法及代码
2019/06/25 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
python利用opencv实现颜色检测
2021/02/23 Python
ALDO加拿大官网:加拿大女鞋品牌
2018/12/22 全球购物
IGK Hair官网:喷雾、洗发水、护发素等
2020/11/03 全球购物
清华大学自主招生自荐信
2014/01/29 职场文书
运动会致辞稿50字
2014/02/04 职场文书
两只小狮子教学反思
2014/02/05 职场文书
微信营销策划方案
2014/02/24 职场文书
电子商务系毕业生自荐信
2014/05/29 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
2015年学校食堂工作总结
2015/04/22 职场文书
免职通知
2015/04/23 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android