zoukankan      html  css  js  c++  java
  • ajax二进制流乱码图片解决方法

    仅供自己参考

    参考博客

    在请求成功的地方 添加以下代码:

    var blob=new Blob();

    blob=this.response;

    既然二进制数据拿到了,那么要把它放在一个 html标签中,并且应该是img标签 那么:代码应该是

    var img = document.createElement("img");

    img.src = window.URL.createObjectURL(blob); //有问题,将blob加载到img中 由于blob太大 会有性能影响 应该怎么在加载之后 如何释放呢:

    img.onload = function(e) {

    window.URL.revokeObjectURL(img.src);//释放。
    };

    然后 将img 放到一个div容器中就可以啦。

    $("#imgcontainer").html(img); 是的请求处理就应该是这样。

    var xhr = new XMLHttpRequest();    
        xhr.open("get", url, true);
        xhr.responseType = "blob";
        xhr.onload = function() {
            if (this.status == 200) {
                var blob = this.response;
                var img = document.createElement("img");
                img.onload = function(e) {
                  window.URL.revokeObjectURL(img.src); 
                };
                img.src = window.URL.createObjectURL(blob);
           $("#imgcontainer").html(img);
     } } xhr.send();
    
  • 相关阅读:
    S2dao 简单Demo(转)
    Iphone SDK textField 打开和关闭键盘
    s2dao 入门知识2
    Eclipse tomcat Web页面调试
    s2dao 入门知识1
    java 面试
    Iphone SDK ActionSheet 在当前窗口弹出时间选择
    杭电2044
    杭电2076
    杭电2077
  • 原文地址:https://www.cnblogs.com/shiazhen/p/11883686.html
Copyright © 2011-2022 走看看