ios – 将UIImage转换为NSData,将NSData转换为NSString,以便将图像发布到服务器

前端之家收集整理的这篇文章主要介绍了ios – 将UIImage转换为NSData,将NSData转换为NSString,以便将图像发布到服务器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个UI ImageViews.我想通过脚本将两个图像发布到服务器.在此之前,我必须将这些图像转换为数据和数据到字符串,但我不知道如何将图像从UIImageView转换为NSData和NSData转换为NSString.I已经引用了所有代码,但它不起作用.我还想知道在我的代码中应该在哪里声明转换编码(图像到数据和数据到图像)?

这就是我实施的内容

.h部分

#import <UIKit/UIKit.h>
  #import "GlobalAccessClass.h"
  #import  <QuartzCore/QuartzCore.h>

  @interface AskQuestionHome :  UIViewController<UITextViewDelegate,UITextFieldDelegate,UIImagePickerControllerDelegate,UIActionSheetDelegate>

  {

  }
  @property (strong,nonatomic) IBOutlet UIImageView *imgSecondImg;

  @property (strong,nonatomic) IBOutlet UIImageView *imgFirstImg;

  @property (strong,nonatomic) IBOutlet UITextView *txtviewAsk;

  -(IBAction)postbutton:(id)sender;

  @property (nonatomic,retain) NSString *datestr;

  @property(nonatomic,retain) NSData *imageData;

  @property(nonatomic,retain) NSString *postLength;

  @end

.m部分

-(void)post
 {
     NSMutableURLRequest *mutableurlrequest = [[NSMutableURLRequest alloc]initWithURL:[NSURL URLWithString:@"http://www.alvinchuastudios.com/aNSWERED/insert_question.PHP"]];

  // create the Method  "POST" For POSTING the QUESTIION with IMAGES
        [mutableurlrequest setHTTPMethod:@"POST"];

        NSLog(@"the email is:%@",manage.transformEmail);
        NSLog(@"the cat is:%@",manage.transformCategories);
        NSLog(@"the text is:%@",textviewText.text);
       // NSLog(@"the firstimage is:%ld",(long)imgFirstImg.tag);
       // NSLog(@"the secondimage is:%ld",(long)imgSecondImg.tag);
       // NSlog(@"the status is:%d",1);
        NSLog(@"the user is:%@",manage.transformName);
        NSLog(@"the user registered is:%@",datestr);


  //passing the string to the server
        NSString *qususerUpdate =[NSString stringWithFormat:@"email_id=%@&cat=%@&q_text=%@&q_image1=%ld&q_image2=%ld&q_status=1&last_upd_by=%@&last_upd_timestamp=%@",manage.transformEmail,manage.transformCategories,textviewText.text,(long)imgFirstImg.tag,(long)imgSecondImg.tag,manage.transformName,datestr,Nil];


  //check the value that what we passed 
        NSLog(@"the data Details is =%@",qususerUpdate);


  //Convert the String to Data
        NSData *data1 =[qususerUpdate dataUsingEncoding:NSUTF8StringEncoding];

  //Apply the data to the body
        [mutableurlrequest setHTTPBody:data1];

  //Create the response and Error
        NSError *err;
        NSURLResponse *response;
        NSData *responseData =[NSURLConnection sendSynchronousRequest:mutableurlrequest returningResponse:&response error:&err];
        NSString *resStr =[[NSString alloc]initWithData:responseData encoding:NSASCIIStringEncoding];

  //This is for Response
        NSLog(@"got response==%@",resStr);  }

解决方法

我认为Ashu的回答将返回null.尝试这个
NSData *dataImage = [[NSData alloc] init];
dataImage = UIImagePNGRepresentation(image);
NSString *stringImage = [dataImage base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

猜你在找的iOS相关文章