안녕하세요, 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]). 내 이미지 데이터를 잃어버린 아이디어가 있습니까?
안드로이드 (java)에서 작동하기 때문에 내 PHP 코드가 잘못되었습니다. 내 목표 -C 코드와 어떤 문제인지 알고 싶습니다. :) – Sergey