前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vue 图片转base64格式方法总结

vue 图片转base64格式方法总结

作者头像
江一铭
发布于 2022-06-17 06:22:54
发布于 2022-06-17 06:22:54
1.3K00
代码可运行
举报
文章被收录于专栏:技术社区技术社区
运行总次数:0
代码可运行

直入主题,上代码(其实用的还是FileReader) 主要方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
handleRemove(file, fileList) {
      console.log(file); 
      
      var reader = new FileReader();
      reader.readAsDataURL(file.raw); // 一定要传入file格式  
      reader.onload = () => {
        console.log("file 转 base64结果:" + reader.result);
      };
      reader.onerror = function(error) {
        console.log("Error: ", error);
      };
},

vue组件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--  -->
<template>
  <div>
    <el-upload
      class="upload-demo"
      action="https://jsonplaceholder.typicode.com/posts/"
      :on-change="handleRemove"
      multiple
      :limit="3"
    >
      <el-button size="small" type="primary">点击上传</el-button>
    </el-upload>
  </div>
</template>

<script>
export default {
  name: "",
  data() {
    return {};
  },
  methods: {
    handleRemove(file, fileList) {
      console.log(file);
      var reader = new FileReader();
      reader.readAsDataURL(file.raw);
      reader.onload = () => {
        console.log("file 转 base64结果:" + reader.result);
      };
      reader.onerror = function(error) {
        console.log("Error: ", error);
      };
    },
  }
};
</script>
<style scoped>
/* @import url(); 引入css类 */
</style>

注意: 今天在使用Vue进行文件上传的代码编写时,发现报错: Error in v-on handler: "TypeError: Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'." `

显然,是传入的file对象出了问题,根据报错提示,我们应该传入一个Blob对象。也就是说,file不是Blob对象

我们使用console.log(file)进行调试输出:

看, raw这个属性写了个大大的File

把raw这个File对象传入即可

OK啦!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
element ui 上传文件,读取内容乱码解决
element ui 上传文件,读取内容乱码解决: 加第二个参数 reader.readAsText(file.raw,'gb2312'); <el-upload class="upload-demo" ref="upload" :on-change="handleChange"
deepcc
2018/08/01
2.3K0
Vue+Element前端导入导出Excel(实践)
arr就是我们要的结果,是一个数组。每一个值是个对象,包含了code type两个属性。
coder_koala
2020/03/06
4.5K1
Vue+Element前端导入导出Excel(实践)
ElementUI——el-upload上传前校验图片宽高
总要写点东西吧,最近忙于项目,github上的问题也没处理,博客也没咋写,自媒体上的东西也没咋发,随手记录一下当前项目改造时候遇到的问题吧;
思索
2024/08/15
3050
ElementUI——el-upload上传前校验图片宽高
封装一个图片文件对象转Base64的方法
常用的 UI 组件库如 Ant Design 、 Element UI 等都会有的 Upload 组件,支持 change 等事件,但是事件返回的是文件对象,如果需要本地实时预览,就需要转换成 Base64 格式。
德顺
2023/08/25
2260
封装一个图片文件对象转Base64的方法
常用的 UI 组件库如 Ant Design 、 Element UI 等都会有的 Upload 组件,支持 change 等事件,但是事件返回的是文件对象,如果需要本地实时预览,就需要转换成 Base64 格式。
德顺
2021/05/31
1.4K0
Vue+element图片上传 原
采用比较笨的js解决方法,将bolb文件打开,读取src属性(这是一个base64的数据流),把src的内容一起发送给后端。
晓歌
2018/08/15
1.5K0
使用ElementUI el-upload一次性上传多个文件
在日常的前端开发中,文件上传是一个非常常见的需求,尤其是在用户需要一次性上传多个文件的场景下。ElementUI作为一款非常优秀的Vue.js 2.0组件库,为我们提供了丰富的UI组件,极大地提升了开发效率。其中,el-upload组件便是一个功能强大且易于使用的文件上传组件。
繁依Fanyi
2024/07/02
3.8K0
图片转Base64格式
<input type="file" name="dddd" id="imgs"> <input type="button" onclick="ck()" value="submit" /> var reader = new FileReader(); var AllowImgFileSize = 2100000; //上传图片最大值(单位字节)( 2 M = 2097152 B )超过2M上传失败 var file = $("#imgs")[0].files[0]; var imgUrlBase64; i
闻语博客
2021/01/21
1.2K0
Fabric.js 将本地图像上传到画布背景
这次要实现的效果是:在本地上传一张图片,然后渲染到 canvas 里(当做背景图)。
德育处主任
2022/04/17
3K0
Fabric.js 将本地图像上传到画布背景
开发实例:后端Java和前端vue实现图片管理功能
2. 通过input[type=file]元素上传图片,使用element-ui的Upload组件进行封装。
用户1289394
2024/01/19
7160
开发实例:后端Java和前端vue实现图片管理功能
【解决方案】ElementUI图片上传前如何对尺寸进行验证并且上传到新浪SCS?
具体的属性可以查看官方文档,这里用到的是:before-upload="beforeAvatarUpload" 这个钩子函数,看名字就知道这是在图片上传前执行的方法,在此可以进行一些验证,官方给出了对图片类型以及大小的验证,接下来将实现对图片尺寸的验证.
一尾流莺
2022/12/10
1.3K0
【解决方案】ElementUI图片上传前如何对尺寸进行验证并且上传到新浪SCS?
图片转base64
var reader = new FileReader() // 传图片的 file 对象 // 可通过 e.target.files 拿到 reader.readAsDataURL(file) reader.onload = function () { // this. result 就是转换后的 base64 console.log(this.result) }
小鑫
2022/04/22
3.1K0
vue实现文件上传和下载_vue上传文件前端完整实例
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170636.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
4.2K0
vue实现文件上传和下载_vue上传文件前端完整实例
Vue上传文件到springboot
使用on-change属性,将每次添加的文件依次推入到fileLists中,然后将fileLists的文件使用formData封装,请求头为'multipart/form-data'
全栈程序员站长
2022/11/03
1.5K0
js File 转 Base64 图片预览
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>图片预览</title> <style type="text/css"> .global { width: 100%; height: 100%; display: flex;
IT工作者
2021/12/30
9.1K0
在 `el-upload` 上传图片前裁剪:让你的应用更“裁”心,更“剪”美!
大家有没有经历过这样的尴尬时刻?你兴高采烈地上传了一张自拍,结果发现里面有一位不速之客:背景中的路人、凌乱的桌面,或者是某只不安分的宠物。如果你觉得这只是个别现象,那就错了。每一个开发者都知道,用户上传的图片大多不是那么“完美”,裁剪就是你能为用户做的第一件也是最重要的事情。
繁依Fanyi
2024/08/10
3950
ant design中upload组件 上传图片压缩
不想描述多余的,直接看代码简单直接 const [defaultFileList, setDefaultFileList] = useState([]); <Upload accept="image/*" customRequest={uploadImage} onChange={handleOnChange} listType="picture-card"
我乃小神神
2021/12/07
1.6K0
element-ui中upload组件如何传递文件及其他参数
最近项目用到了vuethink,里面集成了element-ui,之前一直用的是bootstrap框架,对js也是一知半解,然后也用过vue.js,但也是学的不通透的,然后就各种入坑。
全栈程序员站长
2022/07/07
2.2K0
element-ui中upload组件如何传递文件及其他参数
html5 文件api使用示例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>html5文件API</title> <script type="text/javascript"> function getName(){ var file = document.getElementById("file"); //document.getElementById("file").files // 返回 FileList对象
好派笔记
2021/11/02
8030
面试题:我现在上传图片的时候提前预览到图片怎么办?
今天我也来标题党一会,用“面试题”蹭一蹭热度,主要还行想深度剖析一下,文件上传,里面的门道。
用户7413032
2020/06/11
1.6K0
面试题:我现在上传图片的时候提前预览到图片怎么办?
推荐阅读
相关推荐
element ui 上传文件,读取内容乱码解决
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验