4
我想發送一個圖片存儲在本地存儲與JavaScript,但無法檢索並顯示它。發送圖像從本地存儲到MySQL與ajax後
JavaScript部分:
liste['pic'] = localStorage['pic'];
$.ajax({
type: "POST",
url: "save.php",
data: { pic : liste['pic'] },
dataType: "json",
success: function(data) {
if(data) {
alert("Picture sent succesfully");
}
}
});
接收該數據PHP的一部分:
require "lib/connect.php";
$pic = $_POST['pic'];
$insert_query = "INSERT INTO liste (`pic`) VALUES ('".$pic."');";
$result = mysql_query($insert_query);
PHP的一部分,顯示了照片。 表中有東西,但由於它是blob,我無法檢查是否有正確的數據。
$select_query = "Select `pic` From liste;";
$result = $dbhandle->query($select_query);
echo "<table border='1'>
<tr>
<th>Image</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td><img src=\"" . $row['pic'] . "\" width=\"200\"/><br/><br/></td>";
echo "</tr>";
}
echo "</table>";
$result->closeCursor();
mysqli_close($dbhandle);
從這我得到一個破碎的圖像。什麼不見了 ?文字有效,但不是圖像,爲什麼?
也許圖像數據被破壞?發送ajax請求之前,您是否嘗試過使用base64_encode?當你從db中檢索數據時,你需要執行base64_decode ... –
你應該記錄變量的每一步,看看它在哪裏丟失。在ajax之前的腳本中使用console.log。 firephp或file_put_contents在php部分中,並且在html中,您只需查看頁面源代碼即可查看它在img標記中插入的內容。至少應該讓你知道問題出在哪裏。 – billynoah