我有從MS SQL數據庫顯示麻煩的圖像。我知道這不是最好的方式,但我得到的來源。所以基本上我的問題是我無法展示整個圖像。我正在排除故障並失敗。當我看到在數據庫中的BLOB二進制數據是這樣的(heidsql):顯示圖像顯示partialy
0x89504E470D0A1A0A0000000D4948445200000258000004B0080600000027A134 ...
但選擇數據並沒有編碼輸出它,當我得到這個:
�PNG IHDRX�'�4 sRGB���gAMA���atEXtSoftwareAdobe ImageReadyq�e<���IDATx^�}�Ǒ��V,-�X+i�d1�bfY�f��d�(33C��afft8q�p�\����]R}
���5����>���sW}U�3�iw���H�"E�)R��@D�)R�H�"E��G�LQ|
�U�nݺ �w���=zdJR��dz��)~�n�X�%}����|
�*Ʊ�s1.e�a\Ǹ�q1��G3�0aLg�a�`�2�0�#=�c��\���c�m�|
��ܟpO¡��
��)E�%So�C��'Ĕ���fLd�g����#o��3��{����ʪ�:t��
>�ƍG���4|�pZ�n͝;��̞M3fL�ذ���wذa�>h��?�����w�^��s}
����9��3��]�ՌٌQ�*F�Κ��x�O��x�}��o�yR���=��)����!
��ݳ�����ɸ��iK�9s&m�N9�d:���������s5}�3��O}���/
�^~�e��~� }�+_�.�@�?������}��_g�+��/~Q����g>�i��)��?
H�|�;���=O�<��|�M\�|ڽ{7m߾��-[J�f���ȑ#�4`����~��
��ƭ���f���e�[email protected]�Gz�G��� ���0|
��;O*�R�Q2E��:0ݷ�q��'N��;��ݲ�>����W��U����G�e��eF����
當我嘗試顯示圖像時,它只顯示圖像的1/4。
這是我的代碼:
$server = "some-server"
$link = mssql_connect($server,'user','password')
if (!$link || !mssql_select_db('database_name', $link)) {
die('Unable to connect or select database!');
}
$query = "SELECT * FROM tabel_name WHERE id='1'"
$version = mssql_query($query,$link);
$row = mssql_fetch_row($version);
$data = $row[1];
$data64 = base64_encode($data);
echo "<img height='1200' src='data:image/png;base64, ".$data64 ."'/>"
我要補充的是正在使用相同的數據和它的工作原理。ASP頁面上,並顯示圖像的整體,而我的解決方案只顯示圖像的1/4 。內容在數據庫中設置爲IMAGE
。
您是否驗證了您存儲的圖像的字節大小,以及從db中檢索的內容是否相同? – tan
不可以。數據庫不是我的,並且在我之前使用過,因此我無法確認字節大小,但如前所述,相同的數據在已設置的.asp頁面中工作,具有相同的圖像數據並顯示整個圖像。 有多少數據可以通過查詢傳輸的限制?它看起來像一些數據丟失,因爲圖像是1200×600像素大。 – CtrlAltElite
我錯過了asp部分。我也希望這不是問題。 src ='data:imaeg – tan