zoukankan      html  css  js  c++  java
  • JavaScript如何转换二进制数据显示成图片

    使用JavaScript调用API返回了二进制数据格式的图片,该如何显示到网页上?

    首先,直接使用XMLHttpRequest,而不是AJAX,原因已经在前一篇文章中解释。并将responseType设置为arraybuffer

    var xhr = new XMLHttpRequest();
    xhr.open('GET', '/my/image/name.png', true);
    xhr.responseType = 'arraybuffer';

    然后,将二进制转成图片源,我从网上搜索找到以下两种方法,大家可以随意选择自己喜欢的。

    方法一

    var uInt8Array = new Uint8Array(xhr.response);
    var i = uInt8Array.length;
    var binaryString = new Array(i);
    while (i--) {
        binaryString[i] = String.fromCharCode(uInt8Array[i]);
    }
    var data = binaryString.join('');
    
    var imageType = xhr.getResponseHeader("Content-Type");
    $('#image').attr("src", "data:" + imageType + ";base64," + data)

    方法二

    var imageType = xhr.getResponseHeader("Content-Type");
    var blob = new Blob([xhr.response], { type: imageType });
    var imageUrl = (window.URL || window.webkitURL).createObjectURL(blob);
    $('#image').attr("src", imageUrl);
  • 相关阅读:
    jdk.exe转zip免安装
    jdk全版本下载链接
    Cesium primitive绘制折线和多边形
    sql调优的几种方式
    maven操作
    如何设计高并发系统?
    用友华表cell的程序发布
    OpenCV异常问题(一)
    js jquery window 高 宽
    sql中游标的使用一
  • 原文地址:https://www.cnblogs.com/hula100/p/7350628.html
Copyright © 2011-2022 走看看