首页  >  问答  >  正文

使用 JavaScript 显示 Blob

<p>我正在从数据库中检索 Blob 图像,并且我希望能够使用 JavaScript 查看该图像。以下代码在页面上生成损坏的图像图标:</p> <pre class="brush:php;toolbar:false;">var image = document.createElement('image'); image.src = 'data:image/bmp;base64,'+Base64.encode(blob); document.body.appendChild(image);</pre> <p>这是一个 jsFiddle,其中包含所需的所有代码,包括 blob。完成的代码应该正确显示图像。</p>
P粉860370921P粉860370921423 天前574

全部回复(2)我来回复

  • P粉005134685

    P粉0051346852023-08-24 14:48:24

    您还可以直接从 XMLHttpRequest 获取 BLOB 对象。将responseType 设置为blob 就可以了。这是我的代码:

    var xhr = new XMLHttpRequest();
    xhr.open("GET", "http://localhost/image.jpg");
    xhr.responseType = "blob";
    xhr.onload = response;
    xhr.send();

    响应函数如下所示:

    function response(e) {
       var urlCreator = window.URL || window.webkitURL;
       var imageUrl = urlCreator.createObjectURL(this.response);
       document.querySelector("#image").src = imageUrl;
    }

    我们只需在 HTML 中创建一个空图像元素即可:

    <img id="image"/>

    回复
    0
  • P粉742550377

    P粉7425503772023-08-24 00:00:37

    问题是我有十六进制数据,需要在进行 Base64 编码之前转换为二进制。

    在 PHP 中:

    base64_encode(pack("H*", $subvalue))

    回复
    0
  • 取消回复