首页 > 其他分享 >[Vue warn]: Error in v-on handler: "TypeError: Failed to execute 'readAsDataURL' on &

[Vue warn]: Error in v-on handler: "TypeError: Failed to execute 'readAsDataURL' on &

时间:2022-11-17 22:15:04浏览次数:46  
标签:execute TypeError FileReader fr Vue Blob file readAsDataURL type

今天在使用Vue进行文件上传的代码编写时,发现报错:

[Vue warn]: Error in v-on handler: "TypeError: Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'."

关键代码如下:

test(file){
     const fr = new FileReader();
     fr.readAsDataURL(file);
     fr.onload = function(){
          console.log(fr.result);
     };
},

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

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

我一眼就发现,raw这个属性写了个大大的File。那么,如果我传入file.raw,会不会就是这个readAsDataUrl()所需要的Blob对象呢?

代码修改如下:

test(file){
    const fr = new FileReader();
    fr.readAsDataURL(file.raw);
    fr.onload = function(){
    console.log(fr.result);
    };
},

果然,控制台成功输出了DataUrl:

标签:execute,TypeError,FileReader,fr,Vue,Blob,file,readAsDataURL,type
From: https://www.cnblogs.com/panwudi/p/16901178.html

相关文章

  • hypermesh 加载时如何关闭loadtypes的显示
    hypermesh在加载的时候默认状态会在载荷单元后面显示loadtype的类型,比如force,有时候加载节点太多的时候白色的标签影响观感,或者截图的时候需要关闭。1.工具栏选择prefe......
  • OS + Linux file type / linux ls
    slinux字符设备文件类型的标志Linux下的文件类型1.-开头表示普通文件2.d开头表示目录文件3.b开头表示块设备4.c开头表示是字符设备5.I开头表示符号链接文件6.p开头......
  • JavaScript_语法_变量JavaScript_语法_变量_typeof
    ------------恢复内容开始------------JavaScript_语法_变量变量:一小块存储数据的内存空间Java语言是强类型语言类,而JavaScript是弱类型语言......
  • [Typescript] Variable assignment - extends infer X
    Youcanuse`extendsinferX`toassigntheresultofanexpressiontoavariabletypeSomeFunction<U>=SuperHeavyComputation<U>extendsinferResult......
  • Types of Power Automate licenses
    比较PowerAutomate计划了解有关许可证权利的详细信息。下图列出了与不同许可证计划相关的限制。Dynamics365SalesProfessional和Dynamics365CustomerServi......
  • cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 ‘aop:aspectj-autopro
    Causedby:org.xml.sax.SAXParseException;lineNumber:12;columnNumber:28;cvc-complex-type.2.4.c:通配符的匹配很全面,但无法找到元素‘aop:aspectj-autoproxy’......
  • 自学 TypeScript 第二天 编译选项
    前言:昨天我们学习了TS的数据类型,不知道大家回去以后练习没练习,如果你练习了一定会发现一个问题,我们的TS好像和JS不太一样JS写完之后直接就可以放到页面上,就可以用......
  • Eclipse 创建Maven项目Select an Archetype为空解决方法
    一、问题Eclipse创建Maven项目SelectanArchetype为空 二、解决方法1、Maven配置Maven环境变量MAVEN_HOME:maven路径(如:D:\apache-maven-3.6.3)path:%MAVEN_HOME%\bin......
  • mybatis plus的resulttype 为 map
     设置resulttyp是map 当查询出的数据是空时 mybatis会自动将空字段过滤掉 也就是空字段查出来了也不会映射键值对 处理方法 mybatis-plus设置  call-......
  • NOTE_vanilla+typescript
    E:\song\threejs_learn\vite-project\index.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><linkrel="icon"type="image/svg+xml"......