IOS开发--上传图片
时间: 2023-09-28 11:03:28 浏览: 76
iOS开发中上传图片可以采用以下步骤:
1.选择要上传的图片,可以使用系统提供的UIImagePickerController控制器,或者使用第三方库,例如TZImagePickerController。
2.将选中的图片转换为NSData格式。
3.使用NSURLSession或AFNetworking等网络库,将图片数据上传到服务器。
以下是一个简单的上传图片的示例代码:
```
// 选择图片
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.delegate = self;
[self presentViewController:imagePicker animated:YES completion:nil];
// 将选中的图片转换为NSData格式
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<UIImagePickerControllerInfoKey,id> *)info {
UIImage *selectedImage = info[UIImagePickerControllerOriginalImage];
NSData *imageData = UIImageJPEGRepresentation(selectedImage, 0.5);
// 上传图片到服务器
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration];
NSURL *url = [NSURL URLWithString:@"http://example.com/upload.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
request.HTTPMethod = @"POST";
NSURLSessionUploadTask *uploadTask = [session uploadTaskWithRequest:request
fromData:imageData
completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
// 处理服务器返回的响应
}];
[uploadTask resume];
[picker dismissViewControllerAnimated:YES completion:nil];
}
```
其中,upload.php是服务器端接收图片的脚本文件。在服务器端,可以使用PHP等语言来处理上传的图片数据。