您的位置:首页 > 移动开发 > IOS开发

iOS POST 上传图片

2016-01-27 17:36 471 查看
上传图片两种操作方式:一种是从相册上传,一种是拍照上传

1.UIImagePickerController在这个代理方法中做如下处理:

#pragma mark - UIImagePickerController Delegate

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

{

UIImage *image = info[UIImagePickerControllerOriginalImage];

[self uploadImage:image];

[self dismissViewControllerAnimated:YES completion:nil];

}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker

{

[self dismissViewControllerAnimated:YES completion:nil];

}

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated

{

// bug fixes: UIIMagePickerController使用中偷换StatusBar颜色的问题

if ([navigationController isKindOfClass:[UIImagePickerController class]] &&

((UIImagePickerController *)navigationController).sourceType == UIImagePickerControllerSourceTypePhotoLibrary) {

[[UIApplication sharedApplication] setStatusBarHidden:NO];

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];

}

[navigationController.navigationBar setTintColor:[UIColor whiteColor]];

}

2.调接口上传图片,图片必须转为NSData 通过这个方法 NSData *data = UIImageJPEGRepresentation(image, .5f);

上传接口如下:

- (void)uploadImage:(UIImage *)image

{

[MLProgressView showProgressViewAddedTo:self.view displayMessage:@"请稍后..." withType:0];

NSData *data = UIImageJPEGRepresentation(image, .5f);

XXXXNetRequestData *req = [[XXXXNetRequestData alloc] init];

[req setData:data forKey:@"imageFile"];

[req setString:@"0" forKey:@"imageType"];

[[网络请求类 sharedClient] requestPostWithType:XXXXRequest_uploadImage

args:[req toDictionary]

success:^(id responseObject) {

[MLProgressView hideAllHUDsForView:self.view];

NSString *url = [responseObject objectForKey:@"url"];

[self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"sendImgLink('%@')",url]];

} failure:^(NSError *error) {

[MLProgressView hideAllHUDsForView:self.view];

Alert(@"", @"上传失败");

}];

}

[self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"sendImgLink('%@')",url]]; 这个端代码是涉及到与HTML交互,在HTML网页上来完成上传。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: