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];

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...