位置: IT常识 - 正文

前端FileReader对象实现图片file文件转base64(前端file对象)

编辑:rootadmin
前端FileReader对象实现图片file文件转base64 1、file转base64具体代码// 图片file转base64方法(file文件,回调函数) fileToBase64(file, callback) { // 创建FileReader对象(不兼容IE) let reader = new FileReader(); // 将file转为base64 (异步操作) reader.readAsDataURL(file); // 转换成功 reader.onload = () => { const response = { status: true, data: reader.result } callback(response); }; // 转换失败 reader.onerror = function () { const response = { status: false, data: reader.error } callback(response); }; }// 调用方法fileToBase64(imgFile, (res) => { if(res.status) { console.log('file转化成base64成功---',res.data) } else { console.log('file转化base64失败---',res.data) }})2、原理解析

推荐整理分享前端FileReader对象实现图片file文件转base64(前端file对象),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:前端file对象,前端no such file or directory,前端 formdata,前端读取文件内容,前端读取文件内容,前端读取文件内容,前端读取文件内容,前端file对象,内容如对您有帮助,希望把文章链接给更多的朋友!

​ 上面封装的方法,其原理主要是借助FileReader对象来实现图片格式的转换,FileReader对象中的readAsDataURL()方法,可以读取一个File或Blob类型的文件,并将其转换为base64格式的字符串。但要注意的一点是:我们通过readAsDataURL()方法去读取一个文件时,属于异步操作,因此我们需要在FileReader对象的onload事件或onerror事件中,通过回调函数的方式,将文件类型转换的结果,传递给方法的调用者。

​ 还有最重要的一点:该方法不兼容IE。

3、FileReader对象

​ FileReader对象可以异步的读取用户计算机上文件,但仅限于以安全的方式(通过<input>、DataTransfer等方式获取文件后),读取对应的File或Blob类型的文件,并不能按照文件路径去用户的存储的读取对应文件。

浏览器兼容性:

① 创建FileReader对象的方法只有一种,那就是构造函数:// 创建FileReader对象let reader = new FileReader();② 常用属性

​ error:表示当读取文件发生错误时,返回的错误信息。

前端FileReader对象实现图片file文件转base64(前端file对象)

​ readyState:表示目前FileReader对象的状态,值有三个:0—未读取任何数据、1—正在读取数据、2—数据读取完成或被终止。

​ result:表示文件读取并转换格式后的结果,结果的格式取决于使用的读取方法。

③ 对象事件

​ onload:该事件在读取操作完成时触发,此时可以通过reader.result拿到文件读取并转换格式后的结果。

​ onerror:该事件在读取操作才发生错误时触发此时可以通过reader.error拿到对应的错误信息。

​ onabort:该事件在读取操作被中断时触发。

④ 常用方法

​ readAsDataURL(file):读取一个file或Blob文件,并将其转换为base64格式,存储在reader.result。

​ readAsArrayBuffer(file):读取一个file或Blob文件,并将其转换为ArrayBuffer格式,存储在reader.result。

​ readAsText(file[,encoding]):读取一个file或Blob文件,并将其按照第二个参数设置的编码类型转换为字符串格式(默认为UTF-8格式),存储在reader.result。

​ abort():终止正在进行的读取操作。

4、相关文档

FileReader 前端借助Canvas实现压缩图片两种方法 前端将base64图片转换成file文件

本文链接地址:https://www.jiuchutong.com/zhishi/294514.html 转载请保留说明!

上一篇:【控制】自适应控制基本概念(什么叫自适应控制)

下一篇:手把手YOLOv5输出热力图(yolov5输出参数)

  • 多多买菜怎么申请自提点(多多买菜怎么申请自提门店)

    多多买菜怎么申请自提点(多多买菜怎么申请自提门店)

  • 米兔手表如何恢复出厂设置(米兔手表如何恢复)

    米兔手表如何恢复出厂设置(米兔手表如何恢复)

  • ipad第五代是哪款(iPad第五代是哪年生产的)

    ipad第五代是哪款(iPad第五代是哪年生产的)

  • 1tb是多大内存(1tb内存多大?)

    1tb是多大内存(1tb内存多大?)

  • 荣耀hry-al00a手机是什么型号(华为荣耀hry-al00a)

    荣耀hry-al00a手机是什么型号(华为荣耀hry-al00a)

  • 微信群待办是干什么的(微信群待办有什么作用)

    微信群待办是干什么的(微信群待办有什么作用)

  • 一个人只能开一个淘宝店吗(一个人只能开一个京东白条吗)

    一个人只能开一个淘宝店吗(一个人只能开一个京东白条吗)

  • 淘宝跳失率是什么意思(淘宝跳失率是什么)

    淘宝跳失率是什么意思(淘宝跳失率是什么)

  • 抖音怎么给别人发私信(抖音怎么给别人送花)

    抖音怎么给别人发私信(抖音怎么给别人送花)

  • 华为开发者模式干嘛的(华为开发者模式是干什么的)

    华为开发者模式干嘛的(华为开发者模式是干什么的)

  • 在快手举报人对方能知道自己是谁吗(快手举报人家会被别人知道么)

    在快手举报人对方能知道自己是谁吗(快手举报人家会被别人知道么)

  • xs max怎么开机(xsmax怎么开机)

    xs max怎么开机(xsmax怎么开机)

  • 一个宽带能接几个电视(一个宽带能接几台电视机)

    一个宽带能接几个电视(一个宽带能接几台电视机)

  • 北京微播视界是抖音吗(北京微播视界是干嘛的)

    北京微播视界是抖音吗(北京微播视界是干嘛的)

  • ps磨砂质感怎么做(ps做磨砂质感)

    ps磨砂质感怎么做(ps做磨砂质感)

  • 华为mate20扬声器在哪(华为mate20扬声器除尘)

    华为mate20扬声器在哪(华为mate20扬声器除尘)

  • 如何删除华为云空间照片(如何删除华为云空间里面的内容)

    如何删除华为云空间照片(如何删除华为云空间里面的内容)

  • vivo手机mm安全中心是什么(vivo手机安全中心官网)

    vivo手机mm安全中心是什么(vivo手机安全中心官网)

  • 苹果max碎屏险怎么查(苹果碎屏险怎么理赔)

    苹果max碎屏险怎么查(苹果碎屏险怎么理赔)

  • 金立m6故事锁屏怎么关(金立m6如何关闭故事锁屏)

    金立m6故事锁屏怎么关(金立m6如何关闭故事锁屏)

  • vue怎么添加自己的音乐(vue怎么添加自己喜欢的音乐)

    vue怎么添加自己的音乐(vue怎么添加自己喜欢的音乐)

  • 滴滴出行预付款啥意思(滴滴出行预付款能退回来吗)

    滴滴出行预付款啥意思(滴滴出行预付款能退回来吗)

  • 苹果手表怎么单独使用(苹果手表怎么单独播放qq音乐)

    苹果手表怎么单独使用(苹果手表怎么单独播放qq音乐)

  • 苹果为什么不能用流量下载(苹果为什么不能隔空投送)

    苹果为什么不能用流量下载(苹果为什么不能隔空投送)

  • lyaal10是什么型号(lya-al10是什么型号手机)

    lyaal10是什么型号(lya-al10是什么型号手机)

  • 苹果x后摄像头有个小孔(苹果x后摄像头怎么拆)

    苹果x后摄像头有个小孔(苹果x后摄像头怎么拆)

  • 企业所得税的计算公式
  • 天猫店铺个人可以开吗
  • 免税进口的自用设备再销售时该怎么征税
  • 不动产抵扣进项税
  • 公司注销实收资本可以退回股东吗?
  • 资产收益权转让产品
  • 租赁厂房发生的改造装修费用
  • 拆除固定资产的补偿款
  • 合伙制公司有董事会吗
  • 新会计准则税金及附加
  • 外贸公司发票过期怎么办
  • 公司一年未经营怎么赔偿
  • 待认证税额是几级科目
  • 2020深圳增值税税率是多少
  • 增值税发票系统怎么升级
  • 合同签订的案例
  • 购进半成品怎样做分录
  • 劳务报酬交的税汇算清缴能退
  • 稿费算税
  • 专用发票验旧后还领不到发票
  • 企业所得税法的规定可在税前扣除的
  • 其他应付款借贷方分别表示什么
  • 存货抵偿债务账务处理
  • android 设置按钮颜色
  • 报销单据粘贴单样本
  • 配股的基本含义是什么
  • 无法找到脚本文件vbs
  • UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
  • php的pdo是什么
  • element动态变化表格列
  • php静态方法调用
  • php如何防止后门
  • php similar_text()函数的定义和用法
  • 工商罚款怎么入账
  • 如何在vue项目中禁止谷歌浏览器改变网页颜色
  • 机器学习:基于逻辑回归对优惠券使用情况预测分析
  • vue-axios详细介绍
  • python描述器有什么用
  • python中的生成器
  • 电商企业快递费怎么算
  • 生产防疫物资的厂家联系方式
  • 物业费按年收
  • sql server 2005安装失败
  • 个体工商户还没开业也要报税吗
  • 普惠性幼儿园是什么意思
  • 发票类别包含哪几种
  • 内部审计和外部审计可以相互接触对方的
  • 保险公司披露的上一年度保险责任准备金
  • 年金现值的公式是怎么推导出来的
  • 计提本月短期借款利息500元会计分录
  • 注册资金一般是多少
  • 现金零星金额多少
  • 机关事业单位以高于市场价租赁房屋
  • 其他应收款款项性质如何填写
  • 房地产企业资产评估报告
  • sql server减法
  • windows10自带磁盘修复工具
  • win8怎么安装不了win10
  • w10消费者版本和专业版区别
  • 开机提示按CTRL+ALT+DEL,无限重启怎么办
  • centos开启后一直黑屏
  • winxp不能正常启动
  • ping命令详解步骤
  • window10分屏显示
  • vm虚拟机怎么使用
  • 239mbps是多少兆网速
  • 列举css的三种应用方式
  • 安装两个linux
  • nodemoudles可以复制粘贴别的电脑运行程序吗
  • android floatbutton
  • 怎么查看u盘有没有传输过数据
  • 修改jquery版本号不生效
  • call和apply用法
  • Android文本框怎么变成椭圆形?
  • javascript 面向对象
  • android,ios,apicloud 同时开发两个平台应用,方便简单一体化,自带svn,云编译,中文IDE
  • 陕西税务平台
  • 上海市税务局招聘
  • 收取广告费收入怎么入账
  • 江苏盐在什么地方
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设