iOS post请求上传文件(OC)
来源:互联网 发布:热传导有限元软件 编辑:程序博客网 时间:2024/04/28 21:02
首先这是文本样式,实现代码如下
#define HTTP_CONTENT_BOUNDARY @"WANPUSH"
调用方法
[self httpPutUrl:urlStr FilePath:jpgPath DataType:@"multipart/form-data"];
-(BOOL)httpPutUrl:(NSString*)strUrl FilePath:(NSString*)filePath DataType:(NSString*)dataType { strUrl = [strUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSURL* url = [NSURL URLWithString:strUrl]; NSMutableString *myString=[NSMutableString stringWithFormat:@"--%@\r\n",HTTP_CONTENT_BOUNDARY]; [myString appendFormat:@"Content-Disposition: form-data; name=\"username\"\r\n"]; [myString appendFormat:@"%@\r\n", [GTHttpManage sharedGTHttpManage].currentUserName]; [myString appendFormat:@"--%@\r\n", HTTP_CONTENT_BOUNDARY]; [myString appendFormat:@"Content-Disposition: form-data; name=\"Path\"\r\n"]; [myString appendFormat:@"sign\r\n"];// [myString appendFormat:@"--%@\r\n", HTTP_CONTENT_BOUNDARY];// [myString appendFormat:@"Content-Disposition: form-data; name=\"action\"\r\n"];// [myString appendFormat:@"add\r\n"]; NSData* data = [NSData dataWithContentsOfFile:filePath]; NSString* fileName = [filePath lastPathComponent]; NSString* strBodyBegin = [NSString stringWithFormat:@"--%@\r\nContent-Disposition: form-data; name=\"%@\"; filename=\"%@\"\nContent-Type: %@\n\n", HTTP_CONTENT_BOUNDARY, @"file", fileName, dataType]; NSString* strBodyEnd = [NSString stringWithFormat:@"\n--%@--",HTTP_CONTENT_BOUNDARY]; NSMutableData *httpBody = [NSMutableData data]; [httpBody appendData:[myString dataUsingEncoding:NSUTF8StringEncoding]]; [httpBody appendData:[strBodyBegin dataUsingEncoding:NSUTF8StringEncoding]]; [httpBody appendData:data]; [httpBody appendData:[strBodyEnd dataUsingEncoding:NSUTF8StringEncoding]]; NSMutableURLRequest* httpPutRequest = [[NSMutableURLRequest alloc] init]; [httpPutRequest setURL:url]; [httpPutRequest setHTTPMethod:@"POST"]; [httpPutRequest setTimeoutInterval: 60000]; [httpPutRequest setValue:[NSString stringWithFormat:@"%@", @(httpBody.length)] forHTTPHeaderField:@"Content-Length"]; [httpPutRequest setValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@",HTTP_CONTENT_BOUNDARY] forHTTPHeaderField:@"Content-Type"]; httpPutRequest.HTTPBody = httpBody; NSURLSession *session = [NSURLSession sharedSession]; NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:httpPutRequest completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { //data:服务器返回的回执数据(是否注册/登录...成功) if(!error) { NSString *returnDataStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"服务器成功返回的数据:%@",returnDataStr); } else { NSLog(@"请求失败%@", error); } }]; [dataTask resume]; return YES;}
0 0
- iOS post请求上传文件(OC)
- iOS post上传文件
- ios 文件上传, post数据
- IOS post方式上传文件
- ios通过post上传文件
- ios 文件上传, post数据
- iOS POST 文件的上传
- ios 文件上传, post数据
- iOS多文件post上传
- iOS POST上传文件~笔记
- iOS 文件上传 post数据
- iOS post请求图片Base64编码上传
- iOS开发-使用AFN实现GET/POST请求,以及文件下载/文件(图片)上传
- 利用HttpURLConnection发送post请求上传文件
- android模拟post请求上传文件
- 使用HttpUrlConnection进行post请求上传文件
- java模拟post请求上传文件
- 利用HttpURLConnection发送post请求上传文件
- mysqldump的--master-data参数
- python实例方法、类方法和静态方法
- discuz手机浏览切换到电脑版后无法再切换到手机版,原理分析
- 大数据_Storm_Storm消息机制_消息的可靠性
- linux配置yum源
- iOS post请求上传文件(OC)
- ZZULIOJ 1905: 小火山的跳子游戏
- Opensmile 简介
- leetcode:sqrtx
- HDU 2036 叉积计算
- 测试东西的博客
- 树结构练习——排序二叉树的中序遍历
- 最高分是多少
- javascript取对象方法的封装