使用NSURLSession,NSURLSessionUploadTask上传文件
来源:互联网 发布:衣服尺寸数据 编辑:程序博客网 时间:2024/06/11 02:10
和我们的NSURLConnection的方法差不多,只不过把设置HTTPBody换了个地方http://blog.csdn.net/baohanqing/article/details/51171947
//// ViewController.m// NSURLSeesionUpload//// Created by hq on 16/4/18.// Copyright © 2016年 hanqing. All rights reserved.//#import "ViewController.h"//boundary#define HQBoundary @"com.hq"//换行#define HQNewLine [@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]//将字符串编码#define HQEncode(string) [string dataUsingEncoding:NSUTF8StringEncoding]@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; NSString *urlString=@"http://120.25.226.186:32812/upload"; NSString *name=@"file"; NSString *fileName=@"flieName"; NSString *fileMIMEType=@"image/jpeg"; NSString *username=@"hq"; NSURLSession *session=[NSURLSession sharedSession]; NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]]; request.HTTPMethod=@"POST"; //设置请求头 [request setValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@",HQBoundary] forHTTPHeaderField:@"Content-Type"]; //设置请求体 NSMutableData *body=[NSMutableData data]; //分割线 [body appendData:HQEncode(@"--")]; [body appendData:HQEncode(HQBoundary)]; [body appendData:HQNewLine]; //文件参数名 [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=%@; filename=%@",name,fileName]dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:HQNewLine]; //文件类型 [body appendData:[[NSString stringWithFormat:@"Content-Type:%@",fileMIMEType] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:HQNewLine]; //文件数据 [body appendData:HQNewLine]; UIImage *image=[UIImage imageNamed:@"2"]; [body appendData:UIImagePNGRepresentation(image)]; [body appendData:HQNewLine]; //非文件参数 //分割线 [body appendData:HQEncode(@"--")]; [body appendData:HQEncode(HQBoundary)]; [body appendData:HQNewLine]; //参数名 [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=%@",username] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:HQNewLine]; [body appendData:HQNewLine]; [body appendData:HQEncode(@"hq")]; [body appendData:HQNewLine]; //结束标记 [body appendData:HQEncode(@"--")]; [body appendData:HQEncode(HQBoundary)]; [body appendData:HQEncode(@"--")]; [body appendData:HQNewLine]; NSURLSessionUploadTask *task=[session uploadTaskWithRequest:request fromData:body completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { NSLog(@"%@",[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil]); }]; [task resume];}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end
0 0
- 使用NSURLSession,NSURLSessionUploadTask上传文件
- NSURLSessionUploadTask 上传
- 使用NSURLSession 实现单个文件的上传
- 使用NSURLSession 实现单个文件的上传
- NSURLSessionUploadTask 上传图片
- NSURLSessionUploadTask(上传任务)
- NSURLSessionUploadTask多图片上传
- NSURLSession文件上传
- NSURLSession 做文件上传
- IOS开发Swift使用NSURLSessionUploadTask实现后台上传功能
- Swift - 使用NSURLSession加载数据、下载、上传文件
- NSURLSession参数、文件上传实例
- iOS开发-使用NSURLSession实现文件断点下载,文件离线续传以及图片上传
- NSURLSession实现文件下载和文件上传
- [iOS]网络之NSURLSession的文件上传
- 使用NSURLSession,POST 上传多个文件,和文本内容(原理)
- iOS中使用NSURLSession上传字符串
- iOS之网络—— NSURLSessionDataTask文件离线断点下载、NSURLSession文件上传、AFN基本使用、Cocoapods安装
- diy数据库(六)--信号和内核控制块
- AndroidManifest:VersionCode和VersionName
- oracle表空间查询
- build.gradle App重命名
- PS新手教程!手把手教你临摹一枚经典的SIRI拟物图标
- 使用NSURLSession,NSURLSessionUploadTask上传文件
- Python BDD 学习资源
- 纯虚函数的使用汇总
- 如何移除Joomla自带的js和link文件
- TCP 可靠性
- View的事件体系基础知识
- Oracle PRM-DUL使用经验
- 绘图工具
- vc获取程序本身的版本号