suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Zeigen Sie Blobs mit JavaScript an

<p>Ich rufe ein Blob-Bild aus einer Datenbank ab und möchte das Bild mit JavaScript anzeigen können. Der folgende Code erzeugt ein defektes Bildsymbol auf der Seite: </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>Hier ist eine jsFiddle, die den gesamten benötigten Code enthält, einschließlich des Blobs. Der fertige Code sollte das Bild korrekt anzeigen. </p>
P粉860370921P粉860370921482 Tage vor618

Antworte allen(2)Ich werde antworten

  • 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"/>

    Antwort
    0
  • P粉742550377

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

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

    在 PHP 中:

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

    Antwort
    0
  • StornierenAntwort