iOS開發網路篇 檔案的上傳

2021-07-06 02:22:54 字數 2270 閱讀 2658

說明:檔案上傳使用的時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 良好的使用...