鍍金池/ 問答/HTML5  網絡安全  HTML/ blob類型的圖片轉換成base64格式時的錯誤

blob類型的圖片轉換成base64格式時的錯誤

我的項目使用的是element-ui和vue.js搭配做的前端,element-ui的上傳圖片插件提取的圖片文件是這種格式:blob:http://administer.abc.local/ea15d81d-3704-4e49-8c93-971336e8f08d

我百度了一下把它轉成base64編碼傳給后臺的方法,并且照著寫:

let data;
let blob = 'blob:http://administer.abc.local/ea15d81d-3704-4e49-8c93-971336e8f08d'
let reader = new window.FileReader();
reader.readAsDataURL(blob);
reader.onloadend = function() {
    data = reader.result;
    console.log(data);
}

但是報了這個錯誤:

clipboard.png

求大佬幫看看哪里出了問題?

回答
編輯回答
厭遇

你的blob是個字符串。
拿走,不謝。直接運行以下代碼會報跨域,你換個你同域地址?;蛘哐b個瀏覽器跨域插件

fetch(`https://static.segmentfault.com/v-5a7c12fe/global/img/logo-b.svg`).then(data=>{
    const blob = data.blob();
    return blob;
}).then(blob=>{
    let reader = new window.FileReader();
    
    reader.onloadend = function() {
        const data = reader.result;
        console.log(data);
    };

    reader.readAsDataURL(blob);
})

clipboard.png

2017年12月17日 16:52
編輯回答
墨染殤

這不是寫了嗎?參數(shù)第一個不是blob

2017年10月20日 06:51
編輯回答
放開她
let blob = 'blob:http://administer.abc.local/ea15d81d-3704-4e49-8c93-971336e8f08d'

你這樣寫blob是個String類型了,不是Blob類型

2018年3月4日 01:36