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