博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS POST 上传图片
阅读量:6820 次
发布时间:2019-06-26

本文共 2194 字,大约阅读时间需要 7 分钟。

上传图片两种操作方式:一种是从相册上传,一种是拍照上传

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网页上来完成上传。

转载于:https://www.cnblogs.com/fantasy3588/p/5164052.html

你可能感兴趣的文章
我的友情链接
查看>>
最大连续和 Medium
查看>>
1030.在线视频—开源网管Cacti系列讲座(五)Cacti插件架构与插件安装
查看>>
Linux中exec命令相关
查看>>
asp.net mvc 如何调用微信jssdk接口:分享到微信朋友(圈)| 分享到qq空间
查看>>
Redis主从配置
查看>>
全面掌握ping命令(四)ping命令常用参数
查看>>
【C语言】编写一个程序统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数。...
查看>>
mysql用户管理、常用sql语句、mysql数据库备份恢复
查看>>
五大常用算法
查看>>
说说这些年做的云计算和大数据项目
查看>>
java基础第十二天_集合
查看>>
最新一代企业管理软件功能介绍
查看>>
12 种编程语言的起源故事
查看>>
Linux crond 定时任务
查看>>
linux 文件删除详解
查看>>
linux下虚拟终端terminator安装和使用
查看>>
Java多线程学习(六)Lock锁的使用
查看>>
java异常处理的机制 java 架构师学习 java北京
查看>>
史上最全Python数据类型详解
查看>>