我正在尝试使用javascript发送存储在localstore中的图片,但无法检索并显示它。
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);
从这里我得到一个破碎的图像。缺什么 ?文字有效但不是图像,为什么?
答案 0 :(得分:0)
您需要知道的是,当您发送以json
到POST
编码的值时,$_POST
变量中不会显示这些值。
在POST变量中拥有值的唯一方法是使用application/x-www-form-urlencoded
和multipart/form-data
。
如果您希望使用其他内容类型,则实际上需要使用'php://input'
。
e.g。
$data = json_decode(file_get_contents('php://input'), true);
$text = print_r($data, true);
然后,您应该会看到一个包含图像数据的数组。