2011-09-28 39 views
1

在PHP文件,了jQuery,添加PNG數據到SRC ATTR〜

... 
... 
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�@��[email protected]%"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?

+0

你可能會更好本地保存的圖像在你的PHP文件,然後返回路徑返回到AJAX調用。這種方式不那麼雜亂。 – Clive

+0

我知道的方式,但管理這些創建的圖像並不容易,所以我試圖這樣做。 –

回答

8

我認爲你需要像

<img id="hey" src="righturl/thephp.php" /> 

因此,如果必須的jQuery

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

還是我失去了一些東西?

+0

這應該是工作,但這不適合我。事實上,我使用codeigniter uri。 –

+0

uri會造成一些問題嗎?我不知道... –

+0

將網址直接粘貼到瀏覽器的地址欄中,你會看到什麼? –

1

將圖像數據直接插入到src屬性中將無法工作。該屬性期望只有一個字符串類型的值。改爲嘗試this way

+0

合理地http://php.net/manual/en/function.serialize.php - 評論 - 也將有助於你。 – reporter

+0

序列化不適用於我。不管怎樣,謝謝你。 –

1

你需要Base64編碼的圖像數據,並使用Data URI scheme

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

謝謝你的回答 –