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


今天在使用Vue進行文件上傳的代碼編寫時,發現報錯:

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

關鍵代碼如下:

1 test(file){
2      const fr = new FileReader();
3      fr.readAsDataURL(file);
4      fr.onload = function(){
5           console.log(fr.result);
6      };
7 },

 

顯然,是第五行中傳入的file對象出了問題,根據報錯提示,我們應該傳入一個Blob對象。也就是說,file不是Blob對象

我們使用console.log(file)進行調試輸出:

我一眼就發現,raw這個屬性寫了個大大的File。那么,如果我傳入file.raw,會不會就是這個readAsDataUrl()所需要的Blob對象呢?

代碼修改如下:

1 test(file){
2     const fr = new FileReader();
3     fr.readAsDataURL(file.raw);
4     fr.onload = function(){
5     console.log(fr.result);
6     };
7 },

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM