簡體   English   中英

如何將MySQL中的Base64字符串存儲為BLOB

[英]How to store Base64 string in mySQL as BLOB

我試圖通過使用下面的代碼將base64字符串插入blob,我將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";
}

嘗試使用:

$encodedData= chunk_split(base64_encode(file_get_contents($json_obj)));

然后更改echo "BLOB: " . "---" . $blob; echo "BLOB: " . "---" . $blob; 至:

echo '<img src="data:image/jpeg;base64,' . $blob. '" />';

否則,您只是轉儲string值,這就是您得到此結果的原因。

您是否嘗試過使用mysql base64函數: TO_BASE64('string');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM