JQUERY - 从XML检索二进制(base64)编码图片并在DOM中显示

时间:2010-02-09 22:13:14

标签: jquery base64 decode

我用

检索这个XML文件

$.ajax({type: "GET", url: "data.xml",dataType: "xml",success: parse });

<Data>
   <user>
      <U_ID>4787<U_ID>
      <U_NAME>Mickey Mouse</N_NAME>
      <U_TYPE>1</U_TYPE>
      <U_PIC>iVBORw0KGgoAAAANSUhEUgAAAHgAAAB0CAYAAABOpv</U_PIC> 
   </user>
</Data>

<U_PIC>包含base64编码的图片(我在这里剪切了字符串以便于演示,它实际上是一个非常长的字符串)

我应该如何

  • 检索这个?
  • 解码base64(有内置函数)吗?
  • 显示在DOM中的某个位置?
    //example: (<li><img src="'+retrievedPicture+'=></li>)

我习惯于在标准的解析器函数中执行类似的操作:

$(xml).find('user').each(function(){  
   var $node = $(this);
   var name = $node.find('U_NAME').text();
   $('div').append(name);    

PS。用notepad ++测试了实际的二进制图片,没有任何错误就是真正的png图片。

2 个答案:

答案 0 :(得分:1)

在现代浏览器中,您可以使用Data URI,并在IE中使用服务器端脚本解码给定的字符串,在php中它看起来像:

<?php
 header('Content-type: image/png');
 echo base64_decode($_GET['b']);
?>

答案 1 :(得分:0)

IE对使用DataURI显示的图像大小有限制

jQuery方法可以解决这个问题吗?

你试过吗?