本文为大家分享了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]; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。
新闻热点
疑难解答