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);

    }

}

时间: 2024-08-02 15:14:06

iOS用ASIHttpRequest上传的相关文章

iOS上架ipa上传问题那些事

iOS上架ipa上传问题那些事 原文: http://www.jianshu.com/p/1e22543285c2 字数513 阅读312 评论0 喜欢1 通过xcode直接打包上传,不会提示你的ipa文件有没有错误,只会提示上传成功与否,但在iTunesStore里构建版本的时候并不能看到上传的ipa版本,因为xcode上传并不会检测ipa文件的可用性.解决办法:使用Application Loader(以下简称AppLoader)上传. 注意: 1.iOS9版本的ipa即使用Xcode7生成

android/IOS常用图片上传的两种方式

android/IOS常用图片上传的两种方式: 1.上传到服务器的文件服务器(FileServer) 原理:上传到文件服务器的方式是先在服务器端搭建文件服务器,配置好路径(url),该路径是我们待会上传图片的路径,配置成功后便通过http+post的模式上传到文件服务器,同时文件服务器将返回一个图片ID,这个ID就是图片的唯一标识,并将该ID写入数据库保存,当需要下载该图片时只需要将此ID带上即可. 两个核心问题: (1)服务端:配置FileServer,并写处理响应上传图片的代码,这个值得去网

【iOS】文件上传小记

iOS中用系统提供的API能实现能实现文件的上传与下载,分别有两种方式.NSURLConnection与NSURLSession. 其中NSURLConnection是使用很久的的一种方式,NSURLSession是新出来的一种方式. 一. POST方式上传 POST方式提交信息默认使用的是 : *Content-Type:  application/x-www-form-urlencoded. *输入中文时,post方式自动进行转义(苹果中自动). 国内的绝大多数网站都采用这种方式上传文件(支

iOS之第一次上传app

第一次上传app哦,记录一下,以便下次需要查看. 登录开发者账号 https://developer.apple.com/ 选择Member Center 登录 登录完成后 选择Certificates, Identifiers & Profiles 先生成证书,点击Identifiers 点击添加按钮 取个名字(工程名即可) Bundle ID这个是自己程序的Bundle ID即可 通常默认会选图上这几个.需要用那个就点那个= = 完事确认一下,就submit就好了. ============

Windows环境下IOS APP打包上传AppStore详细流程

现在很多伙伴跨平台开发应用,有些童鞋没有准备苹果机,本文将介绍,如何在Windows系统环境下直接上架APP,不用去搞虚拟机,搞黑苹果等等了,Windows下照样轻轻松松上架iOS APP,没Mac的小伙伴有福了. 下面从七个步骤进行详细介绍! 1.创建唯一标示符App IDs 2.申请发布证书 3.申请发布描述文件 4.iTunes Connect创建App并填写信息 5.选择证书编译打包6.Windows下上传IPA到App Store 7.上传好IPA回到iTunes Connect提交审

iOS 七牛云上传并获取图片----【客户端】

       最近做了七牛云存储的有关内容,涉及到与后台交互获取验证的token,无奈,后台自命清高,不与理会,没办法呀,于是自己搞呗.首先呢在在七牛上注册一个账号,然后呢添加一个存储空间这时候空间名是用来识别存储空间的位置,而地区的选择则是设置存储七牛服务器的位置,那么选择一个公开空间免费试用就可以了~~        创建好账号就是查看官方文档编写demo的流程了,顺便附带一个下载地址:http://developer.qiniu.com/code/v7/sdk/objc.html    下

IOS开发-图片上传

目前IOS端开发,图片上传到服务器分为两种,一种是直接上到服务器,一种是借助第三方储存(减少服务器压力). 一.直接上传到服务器 1 /** 2 * 代码演示 3 */ 4 //*******UIImagePNGRepresentation(UIImage* image) 要比UIImageJPEGRepresentation(UIImage* image, 1.0) 返回的图片数据量大很多,但从视角角度看,图片的质量没有明显的降低,所以在读取图片数据内容时,可以先使用UIImageJPEGRe

iOS图片压缩上传

本文实例为大家分享了iOS实现压缩图片上传功能,供大家参考,具体内容如下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 7

iOS ASI--文件上传

1.文件上传的示例代码 // 设置url NSURL *url = [NSURL URLWithString:@"http://localhost/photo"]; // 设置请求 self.postRequest = [ASIFormDataRequest requestWithURL:url]; // 指定要上传文件的路径 NSString *file = [[NSBundle mainBundle] pathForResource:@"123.txt" ofT