iOS用ASIHttpRequest上传
1.新建一个single view工程,导入ASIHttpRequest库,导入MobileCoreServices、CFNetwork、SystemConfiguration和libz1.2.5.dylib四个系统库
2.随便导入一张图片,比如haoyou.png
3.ViewController.h
|
1
2
3
4
5
6
|
#import <uikit uikit.h="">#import "ASIHTTPRequest.h"#import "ASIFormDataRequest.h"@interface ViewController : UIViewController @property (nonatomic, copy)NSString *m_auth;@end</asihttprequestdelegate></uikit> |
4.ViewController.m 添加两个按钮
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
- (void)viewDidLoad { [super viewDidLoad]; UIButton *loginBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; loginBtn.frame = CGRectMake(100, 20, 120, 40); [loginBtn setTitle:@"登录" forState:UIControlStateNormal]; [loginBtn addTarget:self action:@selector(login) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:loginBtn]; UIButton *uploadBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; uploadBtn.frame = CGRectMake(100, 80, 120, 40); [uploadBtn setTitle:@"上传" forState:UIControlStateNormal]; [uploadBtn addTarget:self action:@selector(upload) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:uploadBtn];} |
5.实现login和upload两个方法
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
- (void)login { NSURL *url = [NSURL URLWithString:@"..."];//此处省略请求url //请求 ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; request.tag = 10; request.delegate = self; [request startAsynchronous];}- (void)upload { NSURL* url = [NSURL URLWithString:@"..."];//此处省略请求url UIImage* img = [UIImage imageNamed:@"haoyou.png"]; NSData* data = UIImagePNGRepresentation(img); //ASIFormDataRequest请求是post请求,可以查看其源码 ASIFormDataRequest* request = [ASIFormDataRequest requestWithURL:url]; request.tag = 20; request.delegate = self; [request setPostValue:self.m_auth forKey:@"m_auth"];// [request setFile:@"tabbar.png" forKey:@"haoyou"];//如果有路径,上传文件 [request setData:data withFileName:@"tmp.png" andContentType:@"image/png" forKey:@"headimage"];// 数据 文件名,随便起 文件类型 设置key [request startAsynchronous];} |
6.实现协议
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
- (void)requestFailed:(ASIHTTPRequest *)request { NSLog(@"请求失败");}- (void)requestFinished:(ASIHTTPRequest *)request { if (request.tag == 10) { NSDictionary * dic = [NSJSONSerialization JSONObjectWithData:request.responseData options:0 error:nil]; self.m_auth = [dic objectForKey:@"m_auth"]; NSLog(@"%@", self.m_auth); } if (request.tag == 20) { NSLog(@"%@", request.responseString); }} |
iOS用ASIHttpRequest上传的更多相关文章
- 【iOS 使用github上传代码】详解
[iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...
- iOS上架ipa上传问题那些事
iOS上架ipa上传问题那些事 原文: http://www.jianshu.com/p/1e22543285c2 字数513 阅读312 评论0 喜欢1 通过xcode直接打包上传,不会提示你的ip ...
- iOS多图上传
iOS多图上传涉及到多线程问题,个人比较喜欢使用GCD操作,下边是最近写的一个多图上传代码,附带相关注释 __block BOOL allSucc = YES; __block int m = 0; ...
- iOS自动化打包上传的踩坑记
http://www.cocoachina.com/ios/20160624/16811.html 很久以前就看了很多关于iOS自动打包ipa的文章, 看着感觉很简单, 但是因为一直没有AppleDe ...
- IOS开发-图片上传
目前IOS端开发,图片上传到服务器分为两种,一种是直接上到服务器,一种是借助第三方储存(减少服务器压力). 一.直接上传到服务器 /** * 代码演示 */ //*******UIImagePNGRe ...
- iOS 七牛云上传并获取图片----【客户端】
最近做了七牛云存储的有关内容,涉及到与后台交互获取验证的token,无奈,后台自命清高,不与理会,没办法呀,于是自己搞呗.首先呢在在七牛上注册一个账号,然后呢添加一个存储空间这时候空间名 ...
- 【iOS】文件上传小记
iOS由该系统提供API可以实现可以实现文件的上传和下载,有两种方法来. NSURLConnection与NSURLSession. 当中NSURLConnection是使用非常久的的一种方式.NSU ...
- iOS学习——Xcode9上传项目到GitHub
最近通过视频在学习一个完整项目的开发流程和思路,为了更真实地模拟在实际开发中的流程,我们需要将项目的代码以及一些资料进行版本控制和管理,一般比较常用的SVN或者Github进行代码版本控制和项目管理. ...
- Windows环境下IOS APP打包上传AppStore详细流程
我们知道在上架苹果应用过程中,申请发布证书需要用到钥匙串,上传ipa需要用到xcode或Application loader提交构建版本,这都需要Mac苹果机. 本文介绍如何在Windows环境下申请 ...
随机推荐
- JS之获取样式
基本代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- 随手记一次利用开源zxing生成带嵌入logo的二维码图片
之前就在项目里面用过zxing生成二维码,最近另一个项目同样需要用到二维码,故重新在学了学利用zxing生成二维码 接下来先做准备工作了,因为我是用vs2013上开发的,故选择了.net4.5版本的z ...
- Sql Server 性能优化之包含列
导读:数据数优化查询一直是个比较热门的话题,小生在这方面也只能算是个入门生.今 天我们就讲下数据库包含列这个一项的作用及带来的优化效果 引用下MSDN里面的一段解释: 当查询中的所有列都作为键列或非键 ...
- 循环调用MAIN
--单位转移录入declare oi_errcode integer; oc_errtext varchar2(100);begin for p in (select * from ssunitinf ...
- wampserver-----------如何设置wampserver在windows下开机自动启动。
虽然很简单,但是还是做个记录.我的习惯,还是看图: 到你电脑的服务里面找到这两项然后点击右键属性,设置为自动.
- GIt的命令
Git 命令 1,git init初始化当前文件夹为git仓库的根目录 2.git commit提交到本地仓库 3.git push origin master 提交到服务器 4.git log 查看 ...
- 1.2 如何在visual studio 中建立C#程序
这一节简单介绍一下怎么在visual studio 2015中建立第一个C#程序,我使用的是2015版的visual studio,不同版本可能有一些差异,不过大体上是相同的,这些信息仅供新手参考,大 ...
- spring使用elasticsearch 5.x
elasticsearch客户端选择 这里使用transport建立elasticsearch客户端 applicationContext.xml配置,属性可以采用读取属性文件的方式.参考类Prope ...
- Oracle常用日期函数
常用的时间格式掩码如下:掩码元素 含义YYYY 四位数年份 (如:2005) yearYY 二位数年份(如 05) Q ...
- Linux 多线程编程 实例 1
子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码. #include <pthread.h> ...