Upload image to the PHP server from iOS

后端 未结 6 653
天涯浪人
天涯浪人 2020-11-30 22:02

I know this question has been asked earlier as well but my issue is a bit different.

I want to upload an image to the PHP server and i want to send more parameters a

6条回答
  •  遥遥无期
    2020-11-30 22:46

    You can upload image from iOS App to PHP server like this two way:

    Using New AFNetworking :

    #import "AFHTTPRequestOperation.h"
    #import "AFHTTPRequestOperationManager.h"
    
        NSString *stringUrl =@"http://www.myserverurl.com/file/uloaddetails.php?"
        NSString *string =@"http://myimageurkstrn.com/img/myimage.png"       
        NSURL *filePath = [NSURL fileURLWithPath:string];
    
       NSDictionary *parameters  = [NSDictionary dictionaryWithObjectsAndKeys:userid,@"id",String_FullName,@"fname",String_Email,@"emailid",String_City,@"city",String_Country,@"country",String_City,@"state",String_TextView,@"bio", nil];
    
        AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    
        [manager POST:stringUrl parameters:parameters constructingBodyWithBlock:^(id formData)
         {
             [formData appendPartWithFileURL:filePath name:@"userfile" error:nil];//here userfile is a paramiter for your image 
         }
         success:^(AFHTTPRequestOperation *operation, id responseObject)
         {
             NSLog(@"%@",[responseObject valueForKey:@"Root"]);
             Alert_Success_fail = [[UIAlertView alloc] initWithTitle:@"myappname" message:string delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
             [Alert_Success_fail show];     
    
         }
         failure:^(AFHTTPRequestOperation *operation, NSError *error)
         {
             Alert_Success_fail = [[UIAlertView alloc] initWithTitle:@"myappname" message:[error localizedDescription] delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
             [Alert_Success_fail show];
    
         }];
    

    Second use NSURLConnection:

    -(void)uploadImage
        {       
            NSData *imageData = UIImagePNGRepresentation(yourImage);
    
            NSString *urlString = [ NSString stringWithFormat:@"http://yourUploadImageURl.php?intid=%@",1];
    
            NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
            [request setURL:[NSURL URLWithString:urlString]];
            [request setHTTPMethod:@"POST"];
    
            NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
            NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
            [request addValue:contentType forHTTPHeaderField: @"Content-Type"];
    
            NSMutableData *body = [NSMutableData data];
            [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
            [body appendData:[[NSString stringWithString:[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userfile\"; filename=\"%@\"\r\n", 1]] dataUsingEncoding:NSUTF8StringEncoding]];
            [body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
            [body appendData:[NSData dataWithData:imageData]];
            [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
            [request setHTTPBody:body];
    
            [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
        }
    

    This both way working fine for uploading image from app to php server hope this helps for you.

提交回复
热议问题