0

こんにちは私はBLOBを介して画像(ユーザーのプロフィール写真)をmySQL DBに保存する必要があります。今では、画像をサーバーのファイルシステムに保存し、それらのURLのみをDBに保存するのがより良い方法であると理解していますが、私は上司ではありません:)、だから私は画像をDBに保存します!私はAndroid用のJavaスクリプト(base64でバイナリデータへの変換を使用)でうまく機能するphpコードを持っています。iPhoneで今すぐ使用する必要があります:これは画像を挿入するために使用する必要があるphpです:

    <?php
$base     = $_REQUEST['image'];
$filename = $_REQUEST['filename'];

    //connect to the db  
$user = ‘root’;  
$pswd = '';  
$db = ‘test’;  
$conn = mysql_connect(‘localhost’, $user, $pswd);  
mysql_select_db('test'); 
$query = "INSERT INTO `test`.`photos` (`id`, `image`) VALUES (NULL,'$base')";
mysql_query($query) or die(mysql_error());
echo "Image id is ".mysql_insert_id();
echo $base;

?>

そしてこれは画像を取得するためのものです:

<?php
$id = $_REQUEST['id'];
$username = "root";
$password = "";
$host = "localhost";
$database = "test";

mysql_connect($host, $username, $password) or die("Can not connect to database: ".mysql_error());

mysql_select_db($database) or die("Can not select the database: ".mysql_error());
//select image
$query = "SELECT * FROM  `photos` WHERE id =30 LIMIT 0 , 30";
$sql = mysql_query($query) or die(mysql_error());
while($image = mysql_fetch_array($sql)){
echo $image['image'];
}
?>

私は画像を保存するためにこのようなことをしようとしています:

        //converting image to data end to binary data (base64)
         NSData* data = UIImagePNGRepresentation(Image);
         [Base64 initialize];
         NSString *strEncoded = [Base64 encode:data];
//prepare request
         NSString *strURL = @"My URL Here.";
         ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:
    [NSURL URLWithString:strURL]];
         [request setDelegate:self];
         [request setData:strEncoded withFileName:@"image.png" andContentType:@"image/png" forKey:@"image"];

         [request startAsynchronous];

そして、mySQLで、新しいBLOBが追加されていることがわかりますが、イメージはありません([BLOB-0B])。画像データを失うアイデアはありますか?

4

2 に答える 2

1

私は私の質問に対する答えを見つけました:私は変更する必要があるだけです:$ base = $ _REQUEST ['image']; to $ base = $ _POST ['image'];

于 2013-02-17T10:15:24.907 に答える
0

PHP/Mysqlには以下を使用します

DB(画像ファイル)から結果を取得するときは、コンテンツをファイルに保存します。

file_put_contents('User_photo.png'、$ image ['image']);

ファイルを(画像として)表示できる場合は、PHPコードで問題ありません...

クエリの選択は画像列のみである必要があります(写真から画像を選択)

于 2013-02-13T09:07:33.213 に答える