2015-09-16 37 views
0

我在這裏獲得的圖像路徑,我轉換的路徑作爲NSData的,但在服務器端接收空...如何將圖像發送到發佈方法?

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    //You can retrieve the actual UIImage 
    _signupImgView.image = [info valueForKey:UIImagePickerControllerOriginalImage]; 
    //Or you can get the image url from AssetsLibrary 
    NSURL *path = [info valueForKey:UIImagePickerControllerReferenceURL]; 
    imageSending=[UIImage imageWithData:[NSData dataWithContentsOfURL:path]]; 
     imgdata = UIImagePNGRepresentation(imageSending);//here i am converting as nsdata... 
    [picker dismissViewControllerAnimated:YES completion:^{ 
    }]; 
} 

這是我的郵編

-(void)signupScreen:(NSString *)firstName :(NSString *)emailID :(NSString *)phoneNumber :(NSString *)password :(NSData *)img 
{ 
    NSString *strSignupScreenRequest=[NSString stringWithFormat:@"firstname=%@&email=%@&telephone=%@&password=%@&pic=%@""%@",firstName,emailID,phoneNumber,password,img]; 
    NSData *dataFetch=[strSignupScreenRequest dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; 
    NSURL *url=[NSURL URLWithString:[NSString stringWithFormat:localRegister]]; 
    [self requestFunction:url :dataFetch:NO]; 

} 

這是我的POST方法全局分配....

else 
    { 
     [request setURL:url]; 
     [request setHTTPMethod:@"POST"]; 

     NSString *conLength=[NSString stringWithFormat:@"%lu",(unsigned long)data.length]; 
     [request setValue:conLength forHTTPHeaderField:@"Content-Length"]; 
     [request setValue:@"application/x-www-" forHTTPHeaderField:@"Content-Type"]; 

     [request setHTTPBody:data]; 
     NSLog(@"post method ===%@",request); 
    } 

我看到大部分的人說AFNETWORKING在許多文件好方法在那裏,我不知道如何實現請任何一個導向我....

+0

什麼是真正的問題?你嘗試使用AFNetworking嗎?如果嘗試了什麼,你面臨的錯誤?另外,將你上傳的代碼發佈到你的服務器上。 –

+0

你可以請你放一個斷點,並檢查你的'imgdata'是否有數據,而不是零。另外,請您分享您用於撥打服務器電話併發送此數據的代碼。 – Abhinav

回答

0
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

    [picker dismissViewControllerAnimated:YES completion:nil]; 
    SomeImageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 

} 

圖片是SomeImageView now.You可以將其轉換NSData

NSData *imageData =UIImageJPEGRepresentation(image, 1.0); 

,並上傳使用multipart/form-data 如果你需要的代碼,後藤本教程。最好的我可以建議:http://nthn.me/posts/2012/objc-multipart-forms.html

+0

你是對的我現在正在這樣做,請幫助我做到這一點.. –

+0

當然,@KishoreKumar讓我知道你在哪裏得到了問題。隨時提供幫助。 –

+0

今天我不在辦公室指導我明天我會在任何我奮鬥的時候給你打電話。 –

2

這不是傳輸數據到服務器的方式。您正在轉換NSString中的所有內容,然後可能會發送它。

Here是你應該怎麼做的。 This thread顯示如何發送圖像數據以及其他詳細信息。通讀所有的答案。

+0

我可以理解你的答案如何在我的發佈數據中實現這一點.. –

+0

我想發送一些像名字和其他字符串的圖像文件... –

+0

請看看我更新的職位。 – Abhinav