本文主要介绍关于AFNetworking中对文件上传的处理,涉及到的知识点:
1:PUT 和 POST 方式的区别
2:http MIMEType multipart/form-data
3:如何手动实现文件上传功能(使用iOS NSMutableRequest,NSURLConnection或者NSURLSession)的请求对象创建和配置
4:AFNetWorking 的封装实现提交诸如:文本、图片等数据到服务器即文件的上传功能的请求对象创建和配置
针对以上问题下面做详细的介绍:
1:PUT 和 POST 方式都可以用来向服务器提交数据,不同的是如果有多个请求发送,PUT会覆盖掉前面的所有请求执行的操作,而POST请求会执行多个不同的请求操作
2:multipart/form-data 是一种多用途formdata,普通的form表单提交数据不能提交文件类型的数据,所以multipart/form-data是一种对普通form表单提交数据的一种扩充,建立在普通的post请求至上的一种请求操作
3:如果手动实现文件的上传比如向服务器上传多张图片(本例子以上传两张png图片 :1.png,2.png)生成的请求体格式如下:
--tsunamierImageFlag
Content-Disposition: form-data; name="0"; filename=1.png
Content-Type: image/png
图片二进制数据
--tsunamierImageFlag
Content-Disposition: form-data; name="1"; filename=2.png
Content-Type: image/png
图片二进制数据
--tsunamierImageFlag--
以上格式需要转换成data详细步骤如下:
①:创建NSMutableRequest 对象:
NSMutableURLRequest *request = [