将图像保存到数据库

时间:2014-05-26 19:53:45

标签: javascript php jquery html

在此页面中,我有一个图像和一个提交按钮。单击提交按钮时,图像应保存到数据库中,但它不起作用。

的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
}

?>

1 个答案:

答案 0 :(得分:1)

我看到的第一个问题是var base64image = $('.#pic').attr('src');

即使这里的jQuery选择器是正确的(应该是&#39; #pic img&#39;我认为)你只能获得图像链接。这将修复当前错误,但它不是你想要的,因为它还没有在base64中。

下一个问题可能是$img['hex'],一旦你的图像数据格式正确,就应该用$ img替换。

那就是说,我同意您很少有理由将图像存储在数据库中。