Wie speichern Base64-string in mySQL als BLOB
Ich versuche zu legen, die eine base64-string in blob mit dem code unten, ich bin immer ein blob in der Datenbank Hinzugefügt, aber es ist eine beschädigte Datei ohne Erweiterung.
Hintergrund:
[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";
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, Sie zu nutzen:
Dann ändern
echo "BLOB: " . "---" . $blob;
zu:Ansonsten sind Sie nur dumping die
string
Wert, deshalb bekommen Sie dieses Ergebnis.$_FILES["image"]
statt$_POST["image"]
. Und entfernen$encodedData = str_replace(' ','+',$json_obj);
.Haben Sie versucht, mit mysql base64 Funktion:
TO_BASE64('string');
?