2
我想通过使用下面的代码插入一个base64字符串到blob中,我得到一个blob添加到数据库,但它是一个损坏的文件,没有扩展名。如何将base64字符串存储在mySQL中作为BLOB
背景:
[request setHTTPMethod:@"POST"];
NSString *encodedString = [binaryData base64Encoding];
NSString *bodyString = [NSString stringWithFormat:@"image=%@", encodedString];
PHP:
$json_obj = $_POST['image'];
$encodedData = str_replace(' ','+',$json_obj);
$encodedData= chunk_split(base64_encode(file_get_contents($encodedData)));
$blob = $encodedData;
$dbHandle = mysql_connect("--------","-------","------");
$dbFound = mysql_select_db("----------");
if($dbFound){
$check = "INSERT INTO `Images`(`imageId`, `image`, `userId`, `dateCreated`) ".
"VALUES ".
"('','$blob','0',null)";
$retval = mysql_query($check, $dbHandle);
if(!$retval)
{
die('Could not enter data: ' . mysql_error());
}
echo '<img src="data:image/jpeg;base64,' . $blob . '" />';
}
else{
print "No Connection";
}
我不是tryna输出它或任何东西,我只是得到一个损坏的文件,在数据库中没有扩展名 – Dave 2013-03-16 17:33:27
@Dave OK,尝试使用上面的方法来编码它。 – Boris 2013-03-16 17:46:13
它仍然完美地显示图像文件,但有一个损坏的文件,在mysql中没有扩展名 – Dave 2013-03-16 17:56:02