代码简单介绍,
变量x0的值是被编译成16进制的图片,也就是说该图片被回归了原始状态,放到了文本文件中,至于其他的asp代码只不过是读取此16进制,然后输出流,最后形成图片而已
所以我想知道使用js能否做到此功能,还有就是怎么做,最好能提供详细代码,分数不够可以加分。

解决方案 »

  1.   

    客户端的js脚本没有字节流处理功能,应该不行
    一般都是客户端单独发一次请求,服务端生成response输出流,显示图片非要在客户端转换图片的话,可以试试flash的as3脚本
      

  2.   

    问题是当前主流的 IE6 IE7 都不支持
    firefox 和 IE8 可以<img id="x" src="" /><script>
    var x0 = "%47%49%46%38%39%61%10%00%10%00%B3%00%00%00%00%00%FF%FF%FF%E9%E9%E9%E2%E2%E2%DB%DB%DB%CC%CC%CC%BE%BE%BE%A1%A1%A1%91%91%91%73%73%73%61%61%61%50%50%50%43%43%43%FF%FF%FF%00%00%00%00%00%00%21%F9%04%01%00%00%0D%00%2C%00%00%00%00%10%00%10%00%00%04%42%B0%C9%49%AB%6D%2B%DF%BA%C4%20%CB%26%2D%41%B6%18%E1%D6%85%67%7A%AD%18%E2%5A%66%AD%06%78%5E%BE%42%E1%FB%87%D9%A4%53%50%18%0B%41%5E%21%A1%48%20%85%A3%5E%11%08%C5%28%0E%58%2C%A3%8A%A9%69%44%E0%B0%25%02%00%3B";
    var Base64 = { cs: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" };
    Base64.encode = function(src) {
    var buf = [];
    src = src.replace(/%([\da-f]{2})%([\da-f]{2})%([\da-f]{2})/ig, function($0, $1, $2, $3) {
    $1 = parseInt($1, 16);
    $2 = parseInt($2, 16);
    $3 = parseInt($3, 16);
    buf.push(Base64.cs.charAt( $1 >> 2 ));
    buf.push(Base64.cs.charAt( (($1<<4)|($2>>4)) & 0x3f ));
    buf.push(Base64.cs.charAt( (($2<<2)|($3>>6)) & 0x3f ));
    buf.push(Base64.cs.charAt( $3 & 0x3f ));
    return "";
    });
    src = src.replace(/%([\da-f]{2})(?:%([\da-f]{2}))?/ig, function($0, $1, $2) {
    $1 = parseInt($1, 16);
    buf.push(Base64.cs.charAt( $1 >> 2 ));
    if (typeof $2 == "undefined") {
    buf.push(Base64.cs.charAt( (($1<<4)|(0>>4))&0x3f ));
    buf.push("==");
    } else {
    $2 = parseInt($2, 16);
    buf.push(Base64.cs.charAt( (($1<<4)|($2>>4))&0x3f ));
    buf.push(Base64.cs.charAt( (($2<<2)|(0>>6))&0x3f ));
    buf.push("=");
    }
    });
    return buf.join("");
    };var bcode = Base64.encode(x0);
    document.getElementById("x").src = "data:image/gif;base64," + bcode;
    </script>
      

  3.   

    如果是在IE里,不行。
    如果是在FF里,可以。(参考文档:RFC2397 - The data URL scheme )FF里头的<IMG>可以这样子用:
    <IMG
    SRC="data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw
    AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz
    ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp
    a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl
    ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis
    F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH
    hhx4dbgYKAAA7"
    ALT="Larry">
      

  4.   

    客户端的js脚本没有字节流处理功能在你的src 的位置直接写上你返回流的连接就可以了