Ben iPhone programlama ile çaylağım. Ben iphone dan sunucusuna resim upload ve sunucu üzerinde MySQL veritabanında depolamak bir görev var. Bundan sonra ben veritabanından görüntüyü almak ve iPhone üzerinde görüntüler.
On Upload: I used ASIFormDataRequest to send image data to server and a PHP script (uploadpicture.php) will store image data to database with blob datatype.
On Download: I used NSURLRequest with NSURLConnection and a PHP script (downloadpicture.php) to retrieve image from database and send it back to iphone. This is a PHP script:
$con = mysql_connect("localhost:8889", "root", "root"); if (!$con) { echo "can not connect database"; die("Could not connect: " .mysql_error()); }
"başarıyla veritabanına bağlayın" echo;
mysql_select_db ("mydatabase", $ con);
$ Result = mysql_query ($ con "resimlerden * seçin");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "{$row['id']}"; echo "{$row['title']}"; echo "{$row['description']}"; echo "{$row['image']}"; echo "{$row['rate']}"; echo "{$row['numberofrate']}"; echo "{$row['numberofdownload']}"; echo "{$row['numberofcomment']}"; echo "
"; }mysql_close($con); echo "completed";
Ve bu Obj-C kodu:
- (void) connectionDidFinishLoading:(NSURLConnection *)connection {
self.connection = nil;
NSString * dataStr = [[NSString alloc] initWithData:self.receivedData encoding:NSUTF8StringEncoding];
NSArray * lines = [dataStr componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
NSMutableArray * res = [NSMutableArray arrayWithCapacity:[lines count]];
NSString * line = nil;
Picture * pic = nil;
for (NSUInteger i = 0; i < [lines count]; i++) {
line = (NSString*) [lines objectAtIndex:i];
NSArray * arr = [line componentsSeparatedByString:@","];
pic = [[Picture alloc] init];
pic.pictureId = [[NSDecimalNumber decimalNumberWithString:(NSString *) [arr objectAtIndex:0]] intValue];
pic.title = (NSString*) [arr objectAtIndex:1];
pic.description = (NSString*) [arr objectAtIndex:2];
pic.imageData = (NSData*) [arr objectAtIndex:3];
pic.rate = [[NSDecimalNumber decimalNumberWithString:(NSString*) [arr objectAtIndex:4]] floatValue];
pic.numberOfRate = [[NSDecimalNumber decimalNumberWithString:(NSString*) [arr objectAtIndex:5]] intValue];
pic.numberOfDownload = [[NSDecimalNumber decimalNumberWithString:(NSString*) [arr objectAtIndex:6]] intValue];
pic.numberOfComment = [[NSDecimalNumber decimalNumberWithString:(NSString*) [arr objectAtIndex:7]] intValue];
[res addObject:pic];
[pic release];
}
self.picturesData = res;
//display a image
[self displayAImage];
[dataStr release];
}
Fakat dataStr yönteminde sıfırdır. Herhangi biri bana bu sorunu çözmek için yardımcı olur. Herhangi bir yardım mutluluk duyacağız.
Teşekkürler.