使用blob作为src图像

问题描述 投票:0回答:1

我在MySQL BDD中将图像存储为blob。 我调用我的节点API,用JQuery Ajax返回我的BDD行:

$.ajax({
    url: "http://mydinners.fr:5280/partner",
    type: "GET",
    datatype: "json",
    contentType: "application/json; charset=utf-8",
    success: function(text){
        for(var i=0; i<text["message"].length; i++){
            var objurl = window.URL.createObjectURL(new Blob(text["message"][i]["partner_image"]));

            // text["message"][i]["image"] is an array of point like : [192,257,54,269,85,458,...]

            var module = "";
            module += "<img class='activator' src='"+objurl+"'>";

            $(".container .row").append(module);
        }
    }
});

objurl值是这样的:“blob:http%3A // dev.mydinners.fr / e73c5c6f-562e-4b66-9d4e-7a4c8567532e”

但图像是这样的:http://i.stack.imgur.com/Vhma7.png

你知道如何将我的blob图像从mysql翻译成img吗?谢谢。

javascript jquery mysql ajax blob
1个回答
3
投票

在创建blob之前,必须将数组转换为二进制数据(使用Uint8Array)

var binary = new Uint8Array(json.message[0].partner_image)

这有点无关紧要,但是当你使用Uint8Array时它是一个工作的例子,我只选择我自己的获取/打印数据的方式

fetch("http://mydinners.fr:5280/partner")
.then(res => res.json())
.then(json => {
  let binary = new Uint8Array(json.message[0].partner_image)
  let blob = new Blob([binary])
  let img = new Image()
  img.src = URL.createObjectURL(blob)
  document.body.appendChild(img)
})
© www.soinside.com 2019 - 2024. All rights reserved.