本文为大家分享了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];
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。