鍍金池/ 問答/HTML/ ajax請求圖片,二進制形式顯示圖片有問題

ajax請求圖片,二進制形式顯示圖片有問題

我想通過ajax請求圖片

vm.ajaxGet('/img/logo.png', function(data) {
    //這里data,就是圖片本身的文件流,測試ajax沒有問題
    var img = document.createElement("img");
    img.onload = function(e) {
        window.URL.revokeObjectURL(img.src); // 清除釋放
    };
    img.src = window.URL.createObjectURL(new Blob([data], { type: "image/png" }));
    document.body.appendChild(img);
});

無法顯示圖片,請教大神哪里出了問題呢

已解決:

var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = "blob";//關(guān)鍵的一步
xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
        if (xhr.status == 200) {
            var blod = this.response;
            var src = URL.createObjectURL(blod);
        }
    }
};
xhr.send();
回答
編輯回答
孤巷

1.確認(rèn)一下你的文件流是二進制的流還是base64的流
2. window.URL.revokeObjectURL(img.src)是不是因為這行代碼影響了,注釋掉看看

2018年6月22日 11:29
編輯回答
兮顏

參考這篇:ajax請求并處理二進制流(圖片)
https://segmentfault.com/q/10...

2018年8月9日 07:41