图片转base64

 1         /**
 2          * [getBase64 转换成base64]
 3          * @param  {[String]} imgUrl [图片地址]
 4          */
 5         function getBase64(imgUrl) {
 6         
 7             window.URL = window.URL || window.webkitURL;
 8         
 9             var xhr = new XMLHttpRequest();
10         
11             xhr.open("get", imgUrl, true);
12 
13             // 返回的数据类型
14             xhr.responseType = "blob";
15 
16             xhr.onload = function () {
17         
18                 if (this.status == 200) {
19         
20                     // 得到一个blob对象
21                     var blob = this.response;
22                     
23                     console.log(blob);
24 
25                     // 文件读取
26                     let fileReader = new FileReader();
27         
28                     fileReader.onloadend = function (e) { // onloadend 当读取操作完成时调用,不管是成功还是失败
29         
30                         let base64 = e.target.result;
31 
32                         console.log(base64); //输出base64
33 
34                     };
35         
36                     fileReader.readAsDataURL(blob); // 异步读取文件内容,结果用data:url的字符串形式表示
37         
38                 }
39         
40             }
41         
42             xhr.send();
43         
44         }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏MasiMaro 的技术博文

hook键盘驱动中的分发函数实现键盘输入数据的拦截

我自己在看《寒江独钓》这本书的时候,书中除了给出了利用过滤的方式来拦截键盘数据之外,也提到了另外一种方法,就是hook键盘分发函数,将它替换成我们自己的,然后再...

11620
来自专栏ChaMd5安全团队

HCTF2018 WriteUp

不断fuzz,发现\u0075nion在json_decode后,会变成union,从而达到bypass的目的。 脚本:

28340
来自专栏逆向技术

64位内核第二讲,进程保护之对象钩子

         64位内核第二讲,进程保护. 一丶什么是保护. 什么是保护. 比如我们安装了xxx杀毒软件.那么此时你用任务管理器关闭.是关闭不了的.原因是内...

36360
来自专栏会跳舞的机器人

java并发编程的艺术笔记第八章——java中的并发工具类

在JDK的并发包里面提供了几个非常有用的并发工具,CountDownLatch、CyclicBarrier、Semaphore工具类提供了一种并发控制流程的手段...

9720
来自专栏calvin

【nodejs】让nodejs像后端mvc框架(asp.net mvc)一orm篇【如EF般丝滑】typeorm介绍(8/8)

在使用nodejs开发过程中,刚好碰到需要做一个小工具,需要用到数据库存储功能。而我又比较懒,一个小功能不想搞一个nodejs项目,又搞一个后端项目。不如直接在...

39920
来自专栏JavaEdge

长文慎入-探索Java并发编程与高并发解决方案(更新中)1 基本概念2 CPU3 项目准备4线程安全性5发布对象7 AQS9 线程池10 死锁

50780
来自专栏码匠的流水账

httpclient参数配置

默认的话,是从response里头读timeout参数的,没有读到则设置为-1,这个代表无穷,这样设置是有点问题了,如果是https链接的话,则可能会经常报

68210
来自专栏JackieZheng

探秘Tomcat——启动篇

tomcat作为一款web服务器本身很复杂,代码量也很大,但是模块化很强,最核心的模块还是连接器Connector和容器Container。具体请看下图: ? ...

50570
来自专栏blackpiglet

Go 装饰器模式在 API 服务程序中的使用

  Go 语言是由谷歌主导并开源的编程语言,和 C 语言有不少相似之处,都强调执行效率,语言结构尽量简单,也都主要用来解决相对偏底层的问题。因为 Go 简洁的语...

21420
来自专栏码匠的流水账

ConcurrentLinkedQueue使用实例

ConcurrentLinkedQueue是一个基于链接节点的无界线程安全队列,它采用先进先出的规则对节点进行排序,当我们添加一个元素的时候,它会添加到队列的尾...

24730

扫码关注云+社区

领取腾讯云代金券