IOS 网络开发NSURLSession(四)UploadTask(上传数据+图片)

本文介绍了iOS中使用NSURLSessionUploadTask进行数据和图片上传的方法,包括NSMutableURLRequest的设置、三种上传数据的方式(NSData、File、Stream)以及上传进度的代理方法。示例代码展示了如何实现上传操作,并提供了Demo下载链接,供学习者实践。
摘要由CSDN通过智能技术生成

原创blog,转载请注明出处
blog.csdn.net/hello_hwc


前言:
UploadTask继承自DataTask。不难理解,因为UploadTask只不过在Http请求的时候,把数据放到Http Body中。所以,用UploadTask来做的事情,通常直接用DataTask也可以实现。不过,能使用封装好的API会省去很多事情,何乐而不为呢?
Demo下载链接
http://download.csdn.net/detail/hello_hwc/8557791
Demo里包括了三种Task的使用,我想对想要学习NSURLSession的初学者还是有点帮助的。


Demo效果

上传数据
使用一个工具网站,想要学习RestAPI的同学可以使用这个网站的API做一些练习。
http://jsonplaceholder.typicode.com/

上传图片,图片可以拍照,也可以从相册里选取,上传的返回data是一个html网页,用webview显示。
这里的上传服务器也是选择一个共工具网站
http://www.freeimagehosting.net/upl.php


一 NSURLSessionUploadTask概述

1.1NSMutableURLRequest

上传数据的时候,一般要使用REST API里的PUT或者POST方法。所以,要通过这个类来设置一些HTTP配置信息。常见的包括

timeoutInterval //timeout的时间间隔
HTTPMethod //HTTP方法

//设置HTTP表头信息
– addValue:forHTTPHeaderField:
– setValue:forHTTPHeaderField:

HTTP header的具体信息参见Wiki,常用的header一定要熟悉
http://en.wikipedia.org/wiki/List_of_HTTP_header_fields


1.2 三种上传数据的方式

NSData - 如果对象已经在内存里
使用以下两个函数初始化

uploadTaskWithRequest:fromData: 
uploadTaskWithRequest:fromData:completionHandler: 

Session会自动计算Content-length的Header

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值