Jquery,将png数据添加到src attr~中

时间:2011-09-28 08:47:52

标签: php jquery

在php文件中,

...
...
header('Content-type: image/png');
imagepng($image1);

在html中使用jquery,(加载后,插入图像数据)

$(document).ready(function(){
    $.ajax({
            "url": 'righturl/thephp.php',
            "type": 'POST',
            "data": {},
            "success":function(result){
                $("#hey").attr({"src":result});
            }
        })
});

但这只会插入二进制数据。 无法看到图像。

<img id="hey" src="�PNG  ��� IHDR������������j��� �IDATx�<�ٳ��q��U�[����}���eV�u0�@�Hɔ��P���?9�;�7�[M��D"�7`���C����=��ݷ����[m�~hH�P�|*��9'�����]X߸z���'v���?�w����/jQ�k�Ӗ��I����U��sOO������NǾ�M:�`H�!~���O^9����k�����w{W��k��<�����^��O��o���߄�4�#\�������ݟ�,/�q�ة�����H ����{�mC�N��4��ifl�@"�(�j�y9��|��իW��3���KKM-�����Ν;[��Q1��H� !z���4*-��������VVVvG��~#���Ή��A����`S���X3�a6A�00KCD�1���|���ML�&5��G�Rk���N��a�����E��>�ӡ�<�H1��P3#hA�Y�03(��LD���$Q��Ss#i*FEq�UC�����hQ7�E...1��Y�@���T�7q�?���&31HL�O��4������������3 �rj�鳗�U�Z�E�����(WC�on��7_M늽�|�]0��*v}@36�{�<�(��g�@��o@2%"F�"$��`2�QIfQ-b�rB33W$&�_�a�4l[kvy���5�)"A-�<:��:r�� ��^|�%��kJYUcJf��ui�6�� �̌��TTPA#��u�n�,�;�s���6 ��Y �R���AqВ}Q� �>`(�,}a��d]Rfed�FhH���U9q�U��t������b2"O�Kyc��<�m�1_:[Y��Tm�����߮���q�ic�q��yv:�ǁ��{�A�d#5K>��yo���5�������W-N��ߡ��eT�7���ۣ��Ӄ���A�bhH۾�m/+��ٔ�Lr`EjU�UI!眽3��~+���rZU؋����90����"$c�ө;����F���(}���g�����??훵�aG�ˢ�F)�zM�m2w�����D��|����IEND�B`�">

是否有动态将图像数据动态插入src attr?

3 个答案:

答案 0 :(得分:8)

我认为你需要像

这样的东西
<img id="hey" src="righturl/thephp.php" />

所以如果它必须是jquery

$("#hey").attr({"src":"righturl/thephp.php"});

或者我错过了什么?

答案 1 :(得分:1)

将图像数据直接插入src属性将永远不会起作用。该属性仅指向类型为字符串的值。请改为this way

答案 2 :(得分:1)

您需要对图像数据进行base64编码并使用Data URI scheme

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" />