本文为大家分享了iOS图片上传至服务器的具体代码,供大家参考,具体内容如下

使用app时,从相册中选取图片作为头像是很常用的操作,首先打开相册选择图片,然后将图片保存至本应用的document,最后将document中图片的路径保存至NSUserDefaults和服务器。

从相册中选取图片或拍照

//从相册中选取图片或拍照
- (void)btnActionForEditPortrait:(id) sender {
  UIImagePickerController *picker = [[UIImagePickerController alloc] init];
  picker.delegate = self;
  picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
  picker.allowsEditing = YES;
  [self presentViewController:picker animated:YES completion:NULL];
} 

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

  _avatar = info[UIImagePickerControllerOriginalImage]; 

  [self saveImage:_avatar WithName:@"userAvatar"]; 

  //处理完毕,回到个人信息页面
  [picker dismissViewControllerAnimated:YES completion:NULL];
  [_tableView reloadData];
} 

保存图片

//保存图片
- (void)saveImage:(UIImage *)tempImage WithName:(NSString *)imageName
{
  NSData* imageData = UIImagePNGRepresentation(tempImage);
  NSString* documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
  NSString* totalPath = [documentPath stringByAppendingPathComponent:imageName]; 

  //保存到 document
  [imageData writeToFile:totalPath atomically:NO]; 

  //保存到 NSUserDefaults
  NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
  [userDefaults setObject:totalPath forKey:@"avatar"]; 

  //上传服务器
  [[HSLoginClass new] uploadAvatar:totalPath];
} 

//从document取得图片
- (UIImage *)getImage:(NSString *)urlStr
{
  return [UIImage imageWithContentsOfFile:urlStr];
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。