2

我检索这个 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);    

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

4

2 回答 2

1

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

<?php
 header('Content-type: image/png');
 echo base64_decode($_GET['b']);
?>
于 2010-02-09T22:24:01.083 回答
0

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

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

你试过了吗?

于 2010-02-16T21:33:04.347 回答