URLSession - Foundation _ Apple Developer Documentation

URL Loading System _ Apple Developer Documentation

NSURLSession 教程 - 简书

iOS网络 NSURLSession 转载 - 点点滴滴 - 开源中国


ios - how to pass a dictionary using NSURLSession in post method_ - Stack Overflow

上传文件multipart form-data boundary 说明 - 我爱物联网 - 博客园

关于http的post传送文件 - CSDN博客

iOS里实现multipart_form-data格式上传文件 - 简书

【原】iOS通过http post上传图片 - BorisSun - ITeye博客

uploadTaskWithRequest_fromData_ - NSURLSession _ Apple Developer Documentation

uploadTaskWithRequest_fromFile_ - NSURLSession _ Apple Developer Documentation

如何使用multipart_form-data格式上传文件

iOS开发之网络编程 - 开发者知识库


NSURLErrorDomain是错误排查的说明

请求地址中极有可能存在中文,需要(ASCii/URL)转码

downloadURL = [downloadURL  stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

上传文件

上传文件需要使用表单形式
格式为标准格式
content-type声明内容类型
key-value的定义:用以添加和区分所有的数据及类型

//分隔符
#define Boundary @"1a2b3c"
//一般换行
#define Wrap1 @"rn"
//value赋值换行
#define Wrap2 @"rnrn"
//开始分割
#define StartBoundary [NSString stringWithFormat:@"--%@%@",Boundary,Wrap1]
//文件分割完成
#define EndBody [NSString stringWithFormat:@"--%@--",Boundary]
        包含分隔符的特殊声明
        [requset setValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@",Boundary]
                                              forHTTPHeaderField:@"Content-Type"];
参数名 必选 类型
uid string
token string
image file

image指代为服务器接收文件的key,即表单中的定义
filename通常情况是需要附加文件后缀以便服务端识别

定义key(文件)
        NSString *body=[NSString stringWithFormat:@"%@Content-Disposition: form-data; name="**image**"; filename="%@";Content-Type:image/png%@",StartBoundary,@"filename",Wrap2];
换行定义value
------
定义key(参数)
            NSString *disposition = [NSString stringWithFormat:@"%@Content-Disposition: form-data; name="%@"%@",StartBoundary,obj,Wrap2];
换行定义value

HTTP content-type _ 菜鸟教程


iOS 文件下载及断点续传 - GeekStar - 博客园


NSURLSession_NSURLConnection HTTP load failed on iOS 9 - Stack Overflow

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!