TypeError: Failed to execute ‘readAsText‘ on ‘FileReader‘: parameter 1 is not of type ‘Blob‘.

开发者在使用VueAntDesign的上传组件时遇到`readAsText`错误,发现原因在于组件提供的`file`属性并非原生`Blob`。解决方案是通过`.originFileObj`获取原文件并提交给后台。文章讨论了这个问题的解决方案和背景,以及相关前端技术的注意事项。
摘要由CSDN通过智能技术生成

我的博客原文:TypeError: Failed to execute ‘readAsText‘ on ‘FileReader‘: parameter 1 is not of type ‘Blob‘. 

问题

最近在开发一个免费的在线Markdown功能,使用的是ant design vue 的上传组件,上传的时候遇到这样一个报错,TypeError: Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'。

 查了很多资料都没能实际解决。后来我去对比了组件库的file属性和原生文件的属性,两者居然不一致,查看上传组件属性才发现了问题根因。

问题根因

ant design vue 的上传组件属性。

原生上传file属性

file属性和原生文件的属性,两者居然不一致。 

解决方案

ant组件给原生文件外面又包了一层,所以其实.originFileObj才是最后需要提交给后台的。所以我们把这个提交给后台就不会报错啦!

 总结

vue ant design (elementui) 导入excel或者其他文件的时候,获取到的不是原生file文件,需要把ant design包装后的文件换成原生file。upload组件通过change事件的参数file,file.originFileObj即可获取原文件。 

你的问题解决了吗?欢迎大家在评论区交流。如果文章对你有所帮助,❤️关注+点赞❤️鼓励一下!博主会持续更新。。。。

往期回顾

 css实现元素居中的6种方法 

Angular8升级至Angular13遇到的问题

前端vscode必备插件(强烈推荐)

Webpack性能优化

vite构建如何兼容低版本浏览器

前端性能优化9大策略(面试一网打尽)!

vue3.x使用prerender-spa-plugin预渲染达到SEO优化

 vite构建打包性能优化

 vue3.x使用prerender-spa-plugin预渲染达到SEO优化

 ES6实用的技巧和方法有哪些?

 css超出部分显示省略号

vue3使用i18n 实现国际化

vue3中使用prismjs或者highlight.js实现代码高亮

什么是 XSS 攻击?什么是 CSRF?什么是点击劫持?如何防御

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

富朝阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值