JS 浏览器中 文件转 base64 编码,生成 base64 代码

JS 中将文件转 base 64 只需要 FileReaderreadAsDataURL(文件) 方法即可

let files = ev.dataTransfer.files;
let fileReader = new FileReader()
let that = this
// onload 方法中使用 this.result 来获取读取文件后的结果值,在这里也就是 base64 代码
// 由于这里需要使用 this.result 来获取内容,所以就不能使用 ()=>{} 这种写法了。
fileReader.onload = function () {that.base64 = this.result
}
fileReader.readAsDataURL(files[0]) // 读第一个文件的内容

结果

最后再说一下它的原理

什么是 Base64 : https://developer.mozilla.org/en-US/docs/Glossary/Base64
什么是 DataURL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs

Base64 本身是一种可以替代文件内容的文本格式数据,给它加一个标准的头部。说明该字符串内容是什么格式的文件。就生成了 DataURL 对象,它可以直接在 <img src="base64" > 中使用

转成 Base64 编码后,文件至少会增大 33%,在上面的文章中有说。

JS 中有自带的将文件内容转为 base64 编码的方法
window.atob()
window.btoa()

由于 window 是浏览器中的顶级对象,所以可以直接在浏览器环境下使用 atob()btoa() 方法。

JS 浏览器中 文件转 base64 编码,生成 base64 代码相关推荐

  1. JavaScript(JS) 浏览器中设置启用或禁用

    所有的现代浏览器都内置了对JavaScript的支持.通常,可能需要手动启用或禁用此支持.本章介绍在浏览器中启用和禁用JavaScript支持的过程:Internet Explorer.Firefox ...

  2. des加密+base64编码,base64解码+des解密

    des加密+base64编码,base64解码+des解密 des简单介绍 base64简单介绍 运行效果图 TestActivity.java DataEncryptionUtil.java des ...

  3. Base64 编码原理及代码实现

    Base64 编码原理及代码实现 所谓 base64 编码就是从 ASCII 码表中选取64个可打印字符(A-Za-z0-9+/)作为基本字符集对其它字符进行编码转换.加上作为填充的 "=& ...

  4. server vscode中的live_太方便了!这款神器能在浏览器中运行 VS Code,随时随地写代码...

    最近看到 iPadOS 出来了,各种牛逼的操作真的很有吸引力,于是咬咬牙买了 iPad air.买来之后,当然是研究怎么提高效率了,于是就寻找.研究各种高效的软件.折腾了一段时间,各种 APP 都找得 ...

  5. 神器推荐!在浏览器中运行 VS Code,随时随地写代码

    作者 |   zone7 责编 | 刘静 瞎比比 最近看到 iPadOS 出来了,各种牛逼的操作真的很有吸引力,于是咬咬牙买了 iPad air.买来之后,当然是研究怎么提高效率了,于是就寻找.研究各 ...

  6. 图片Base64编码 图片Base64在线转换

    在线工具https://oktools.net 图片Base64编码https://oktools.net/image2base64 JSON格式化https://oktools.net/json U ...

  7. PHP 图片转base64编码 和 base64编码字符串转换成图片保存

    1.图片转base64编码: /*图片转换为 base64格式编码*/ $img = 'uploads/01.png'; $base64_img = base64EncodeImage($img); ...

  8. 推荐一款神器:在浏览器中运行 VS Code,随时随地写代码

    点击上方蓝色小字,关注"涛哥聊Python" 重磅干货,第一时间送达 目录 发现 什么都别说,先上图 需要什么配置条件? 如何配置? 关于 vscode 的插件 配置一个 pyth ...

  9. Base64编码,Base64在线编解码

    在线工具https://oktools.net Base64编码https://oktools.net/base64 JSON格式化https://oktools.net/json Unix时间戳ht ...

最新文章

  1. Apache/Nginx Cache Last-Modified、Expires和Etag相关工作原理
  2. 权限管理系统中 管理员能看到所有用户的密码么_计算机毕设项目002之学生成绩管理系统...
  3. android+mvp+登录案例,android mvp实现登录
  4. 如果我们预先得知未来某一刻会因为此刻的决定而失败,那是否还会继续努力?
  5. leetcode139. 单词拆分
  6. 五阿哥钢铁电商平台Docker容器云平台建设实践——你想知道的都在这里!
  7. kafka经典面试题
  8. Mac(不限于)中几个有内涵的工具
  9. 3.1 RNN 循环神经网络 概述(上篇)
  10. The Classic IQ Test
  11. 二叉树前中后/层次遍历的递归与非递归形式(c++)
  12. X11/XWindow更改属性代码
  13. TensorFlow by Google一个计算机视觉示例Machine Learning Foundations: Ep #2 - First steps in computer vision
  14. 人工智能--遗传算法求解TSP问题
  15. 蓝色对比关系图表合集PPT模板
  16. vscode运行C程序
  17. Solidity ERC777标准
  18. 野渡梅香舟自横,浅吟彼岸情
  19. 【开源项目】电视盒子好用又强大的APP: TVRemoteIME
  20. Cadence OrCAD Capture CIS ODBC数据库文件在两台电脑上同步使用时一台电脑启动失败的问题解决图文教程

热门文章

  1. 接线 科思模块怎么和plc_plc与变频器的接线图_plc和变频器通讯接线图详解 - 全文...
  2. 安卓逆向:MT学习笔记
  3. 成成你好呀笔记整理(知识点合集六)
  4. 常见微分方程求解小结
  5. UMM(UN/CEFACT Unified Modelling Methodology) 介紹(转)
  6. 怎样提高公司产品的知名度?
  7. gae代码_是否要在GAE上运行Apache FOP? 这是您的答案!
  8. 递归算法与两个经典问题:汉诺塔问题和八皇后问题
  9. labview入门到出家5(进阶篇)——程序调试以及labview函数库的运用
  10. linux 更改/home 挂载点