2

以下のコードを使用してbase64文字列を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";
}
4

2 に答える 2

4

使用してみてください:

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

次に、次のように変更echo "BLOB: " . "---" . $blob;します。

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

それ以外の場合は、値をダンプしているだけstringなので、この結果が得られます。

于 2013-03-16T11:50:34.930 に答える