在此页面中,我有一个图像和一个提交按钮。单击提交按钮时,图像应保存到数据库中,但它不起作用。
的index.html
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<div id="pic"></div>
<img src="abc.jpg">
</div>
<div id="button">
<input type="submit" value ="go"></input>
</div>
</body>
</html>
的script.js
此脚本从scr获取图像并通过save.php页面保存到数据库。
$(document).ready(function() {
$('#button').submit(function(event) { //when click on the go button
var base64image = $('#pic').attr('src'); //getting image from the scr
$.post(
"save.php", //processing php page
{
image: base64image
},
function(data) {
$('.l_m_pic').html(data); //submit data
}
);
return false;
});
});
save.php
此PHP页面将图像保存到数据库中。
<?php
$img = $_REQUEST['image']; //getting image through jquery
$db_host = "localhost"; //host
$db_user = "user"; //user name
$db_password = "1234"; //password
$db_name = "abc";
date_default_timezone_set('UTC');
$dbc = mssql_connect($db_host, $db_user, $db_password);
if ($dbc == FALSE) die ("Error.");
mssql_select_db($db_name, $dbc) or die ("Error.");
$query_pic = " INSERT INTO pictable (picname)VALUES (0x".$img['hex'].")";
//insert image to the database
if (mssql_query($query_pic,$dbc)) {
echo "success"; //print succes
} else {
echo"error"; //print error
}
?>
答案 0 :(得分:1)
我看到的第一个问题是var base64image = $('.#pic').attr('src');
:
即使这里的jQuery选择器是正确的(应该是&#39; #pic img&#39;我认为)你只能获得图像链接。这将修复当前错误,但它不是你想要的,因为它还没有在base64中。
下一个问题可能是$img['hex']
,一旦你的图像数据格式正确,就应该用$ img替换。
那就是说,我同意您很少有理由将图像存储在数据库中。