日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS开发基础之单文件上传基础最原始的方式

發(fā)布時(shí)間:2023/12/18 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS开发基础之单文件上传基础最原始的方式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

IOS開發(fā)基礎(chǔ)之單文件上傳基礎(chǔ)最原始的方式

info.plist 加入一行代碼

<key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict>

// // ViewController.m // 05-上傳單個(gè)文件 // // Created by 魯軍 on 2021/2/13. //#import "ViewController.h" #define kBOUNDARY @"abc" @interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view. }- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{//@"http://localhost:8080/MJServer/upload"// [self uploadFile];NSString *path=[[NSBundle mainBundle] pathForResource:@"IOSThreadNetwork.zip" ofType:nil];[self uploadFile:@"http://localhost:8080/MJServer/upload" fieldName:@"file" filePath:path]; }-(void)uploadFile:(NSString *)urlString fieldName:(NSString *)fieldNamefilePath:(NSString *)filePath{NSURL *url =[NSURL URLWithString:urlString];NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];request.HTTPMethod=@"post";[request setValue:[NSString stringWithFormat:@"multipart/form-data;boundary=%@",kBOUNDARY] forHTTPHeaderField:@"Content-Type"];//request.HTTPBody=[self makeBody];request.HTTPBody=[self makeBody:fieldName filePath:filePath];[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {if(connectionError){NSLog(@"連接錯(cuò)誤 %@",connectionError);return;}NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;if(httpResponse.statusCode==200||httpResponse.statusCode==304){//解析數(shù)據(jù)id json =[NSJSONSerialization JSONObjectWithData:data options:nil error:NULL];NSLog(@"%@",json);}else{NSLog(@"服務(wù)器內(nèi)部錯(cuò)誤");}}];}-(void)uploadFile1{NSURL *url =[NSURL URLWithString:@"http://localhost:8080/MJServer/upload"];NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];request.HTTPMethod=@"post";[request setValue:[NSString stringWithFormat:@"multipart/form-data;boundary=%@",kBOUNDARY] forHTTPHeaderField:@"Content-Type"];request.HTTPBody=[self makeBody];[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {if(connectionError){NSLog(@"連接錯(cuò)誤 %@",connectionError);return;}NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;if(httpResponse.statusCode==200||httpResponse.statusCode==304){//解析數(shù)據(jù)id json =[NSJSONSerialization JSONObjectWithData:data options:nil error:NULL];NSLog(@"%@",json);}else{NSLog(@"服務(wù)器內(nèi)部錯(cuò)誤");}}];}-(NSData *)makeBody:(NSString *)fieldNamefilePath:(NSString *)filePath{NSMutableData *mData=[NSMutableData data];NSMutableString *mString=[NSMutableString string];[mString appendFormat:@"--%@\r\n",kBOUNDARY];[mString appendFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"%@\"\r\n",fieldName,[filePath lastPathComponent]];[mString appendString:@"Content-Type: application/octet-stream\r\n"];[mString appendString:@"\r\n"];[mData appendData:[mString dataUsingEncoding:NSUTF8StringEncoding]];//第二部分// 加載文件// NSString *path =[[NSBundle mainBundle] pathForResource:@"07.jpg" ofType:nil];NSData *data =[NSData dataWithContentsOfFile:filePath];[mData appendData:data];NSString *end=[NSString stringWithFormat:@"\r\n--%@--",kBOUNDARY];[mData appendData:[end dataUsingEncoding:NSUTF8StringEncoding]];return mData.copy;}-(NSData *)makeBody{NSMutableData *mData=[NSMutableData data];NSMutableString *mString=[NSMutableString string];[mString appendFormat:@"--%@\r\n",kBOUNDARY];[mString appendString:@"Content-Disposition: form-data; name=\"file\"; filename=\"07.jpg\"\r\n"];[mString appendString:@"Content-Type: image/jpeg\r\n"];[mString appendString:@"\r\n"];[mData appendData:[mString dataUsingEncoding:NSUTF8StringEncoding]];//第二部分// 加載文件NSString *path =[[NSBundle mainBundle] pathForResource:@"07.jpg" ofType:nil];NSData *data =[NSData dataWithContentsOfFile:path];[mData appendData:data];NSString *end=[NSString stringWithFormat:@"\r\n--%@--",kBOUNDARY];[mData appendData:[end dataUsingEncoding:NSUTF8StringEncoding]];return mData.copy;} @end

總結(jié)

以上是生活随笔為你收集整理的IOS开发基础之单文件上传基础最原始的方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。