【发布时间】:2013-03-13 13:21:34
【问题描述】:
在我的应用程序中,我需要将 base64 格式的图像发送到服务器。目前我正在做的是,我只是将base64图像字符串发送到服务器,当我从服务器检索该字符串时,我无法显示图像,我收到错误:图像损坏。发送和获取 base64 格式图像的确切方法是什么?我使用的代码如下:发送base64图片源的JS:
var imageObj = $("#target")[0];
var canvas = $("#preview")[0];
var context = canvas.getContext("2d");
context.drawImage(imageObj, c.x, c.y, c.w, c.h, 0, 0, canvas.width, canvas.height);
vData = canvas.toDataURL();
$('#crop_result').attr('src', vData);
function saveCroppedImage()
{
var params='image_name='+vData;
$.post('localhost/PHP/addImage.php',params,
function(details){
}, "json")
.error(function(jqXHR, textStatus, errorThrown) {
alert('err');
});
}
PHP源码:
<?php
include("config.php");
$clip_Name = $_REQUEST['image_name'];
$artist_Name ="ash";
$sql = "INSERT INTO tblImageSave (fldImageSource)
VALUES('$base64Img')";
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not enter data: ' . mysql_error());
}
?>
【问题讨论】:
-
fldImageSource 字段是什么数据类型?
-
查看您的代码,您使用的是 MySQL 而不是 SQL Server。对吗?
-
@Sebastian Meine : varchar(700) 抱歉,是 MySQL
-
您的数据库是否知道您正在存储 Base64 数据?它可能会以某种方式将其转换为二进制形式。使用 PHPMyAdmin 或其他工具查看数据库中的数据,并确保它与您发送的数据完全相同。
标签: php javascript mysql image base64