2013-02-13 2 views
0

안녕하세요, BLOB를 통해 mySQL DB에 이미지 (사용자 프로필 사진)를 저장해야합니다. 이제 더 나은 방법은 서버의 파일 시스템에 이미지를 저장하고 데이터베이스에 URL 만 저장하는 것입니다.하지만 보스는 아닙니다.) 그래서 DB에 이미지를 저장할 것입니다! 나는 안드로이드를위한 자바 스크립트에 대한 좋은 작업 (64 기수와 바이너리 데이터로 변환하여)하는 PHP 코드를 가지고, 내가 아이폰을 위해 지금을 사용해야합니다iPhone 용 ASIFormDataRequest (BLOB)를 사용하여 이미지를 mysql 데이터베이스로로드/업로드 하시겠습니까?

<?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입니다 그리고이 가져 오기 이미지 :

<?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]; 

그리고 나는 그것이 새로운 BLOB을 추가하는 것이 MySQL의에서 볼 수 있지만없는 내 이미지 ([ BLOB-0B]). 내 이미지 데이터를 잃어버린 아이디어가 있습니까?

답변

0

I에 대한이어야한다 내 질문에 대한 답변을 찾았습니다 : 나는 단지 변경해야합니다 : $ base = $ _REQUEST [ 'image']; ~ $ base = $ _POST [ 'image'];

0

사용하면 DB (이미지 파일)의 결과를 가져올 때 PHP/MySQL은

,

file_put_contents를 ('User_photo.png'같은 .. 뭔가를 파일에 컨텐츠를 저장하기위한 다음, $ 이미지 [ '이미지']);

당신은 (이미지 등), 당신의 PHP 코드는 괜찮 파일을 볼 수 있다면 ...

선택 쿼리는 이미지 열 (사진에서 이미지를 선택)

+0

안드로이드 (java)에서 작동하기 때문에 내 PHP 코드가 잘못되었습니다. 내 목표 -C 코드와 어떤 문제인지 알고 싶습니다. :) – Sergey