說明:檔案上傳使用的時post請求,通常把要上傳的資料儲存在請求體中。本文介紹如何不借助第三方框架實現ios開發中得檔案上傳。
由於過程較為複雜,因此本文只貼出部分關鍵**。
主控制器的關鍵**:
yyviewcontroller.m
1補充說明:#import
"yyviewcontroller.h"2
3#define yyencode(str) [str datausingencoding:nsutf8stringencoding]45
@inte***ce
yyviewcontroller ()67
@end89
@implementation
yyviewcontroller
1011 - (void
)viewdidload
1216
17 - (void)upload:(nsstring *)name filename:(nsstring *)filename mimetype:(nsstring *)mimetype data:(nsdata *)data parmas:(nsdictionary *)params
18];
5253
/***************引數結束**************
//設定請求頭
59//
請求體的長度
宣告這個post請求是個檔案上傳
//傳送請求
65 [nsurlconnection sendasynchronousrequest:request queue:[nsoperationqueue mainqueue] completionhandler:^(nsurlresponse *response, nsdata *data, nserror *connectionerror) else
72}];73}
7475 - (void)touchesbegan:(nsset *)touches withevent:(uievent *)event
76];
8384
//給本地檔案傳送乙個請求
85 nsurl *fileurl = [[nsbundle mainbundle] urlforresource:@"
itcast.txt
"withextension:nil];
86 nsurlrequest *request =[nsurlrequest requestwithurl:fileurl];
87 nsurlresponse *repsonse =nil;
88 nsdata *data = [nsurlconnection sendsynchronousrequest:request returningresponse:&repsonse error:nil];
8990
//得到mimetype
91 nslog(@"%@"
, repsonse.mimetype);
92 [self upload:@"
file
" filename:@"
itcast.txt
"mimetype:repsonse.mimetype data:data parmas:@];95}
9697
@end
檔案上傳請求資料格式
部分檔案的mimetype
IOS學習開發網路篇 檔案上傳
這是上傳到伺服器的資訊 需要的內容,並且格式不能有任何錯誤,否則都會上傳失敗。content type multipart form data boundary 文名 文名 檔案資料 文名 content disposition form data name username 123 文名 簡單封裝...
iOS開發網路篇 NSURLConnection
s簡介 如果你使用的是 請求的話,那麼你需要知道四個方法 1 當接受到伺服器響應的時候會呼叫 response 響應頭 void connection nsurlconnection connection didreceiveresponse nsurlresponse response 2 當接受...
IOS開發網路篇 網路程式設計基礎
ios開發網路篇 網路程式設計基礎 一 為什麼要學習網路程式設計 1.簡單說明 在移動網際網路時代,移動應用的特徵有 2 只有通過網路跟外界進行資料互動 資料更新,應用才能保持新鮮 活力 3 如果沒有了網路,也就缺少了資料變化,無論外觀多麼華麗,終將變成一潭死水 流動網路應用 良好的ui 良好的使用...