nsurlsession上傳文件
A. iOS斷點續傳-上傳
斷點上傳是將文件切割成小數據片段進行上傳,並記錄上傳進度,當上傳完畢後,服務端將上傳的小文件片段進行合並的過程。
採用NSFileHandle對文件數據進行逐段讀取上傳
要與服務端研發人員約定好上傳完畢規則,區分何時上傳完畢,進行文件合並。
上傳採用NSURLSession/AFN等,逐段上傳。
B. nsurlsession鎬庝箞娣誨姞澶氫換鍔
NSURLSession鎻愪緵鐨勫姛鑳斤細
1.閫氳繃URL灝嗘暟鎹涓嬭澆鍒板唴瀛
2.閫氳繃URL灝嗘暟鎹涓嬭澆鍒版枃浠剁郴緇
3.灝嗘暟鎹涓婁紶鍒版寚瀹歎RL
4.鍦ㄥ悗鍙板畬鎴愪笂榪板姛鑳
宸ヤ綔嫻佺▼
濡傛灉鎴戜滑闇瑕佸埄鐢∟SURLSession榪涜屾暟鎹浼犺緭鎴戜滑闇瑕侊細
1.鍒涘緩涓涓狽SURLSessionConfiguration錛岀敤浜庣浜屾ュ壋寤篘SSession鏃惰劇疆宸ヤ綔妯″紡鍜岀綉緇滆劇疆錛
宸ヤ綔妯″紡鍒嗕負錛
涓鑸妯″紡錛坉efault錛夛細宸ヤ綔妯″紡綾諱技浜庡師鏉ョ殑NSURLConnection錛屽彲浠ヤ嬌鐢ㄧ紦瀛樼殑Cache錛孋ookie錛岄壌鏉冦
鍙婃椂妯″紡錛坋phemeral錛夛細涓嶄嬌鐢ㄧ紦瀛樼殑Cache錛孋ookie錛岄壌鏉冦
鍚庡彴妯″紡錛坆ackground錛夛細鍦ㄥ悗鍙板畬鎴愪笂浼犱笅杞斤紝鍒涘緩Configuration瀵硅薄鐨勬椂鍊欓渶瑕佺粰涓涓狽SString鐨処D鐢ㄤ簬榪借釜瀹屾垚宸ヤ綔鐨凷ession鏄鍝涓涓錛堝悗闈浼氳插埌錛夈
緗戠粶璁劇疆錛氬弬鑰僋SURLConnection涓鐨勮劇疆欏廣
1. 鍒涘緩涓涓狽SURLSession錛岀郴緇熸彁渚涗簡涓や釜鍒涘緩鏂規硶錛
sessionWithConfiguration:
sessionWithConfiguration:delegate:delegateQueue:
銆銆銆銆
絎涓涓綺掑害杈冧綆灝辨槸鏍規嵁鍒氭墠鍒涘緩鐨凜onfiguration鍒涘緩涓涓猄ession錛岀郴緇熼粯璁ゅ壋寤轟竴涓鏂扮殑OperationQueue澶勭悊Session鐨勬秷鎮銆
絎浜屼釜綺掑害姣旇緝楂橈紝鍙浠ヨ懼畾鍥炶皟鐨刣elegate錛堟敞鎰忚繖涓鍥炶皟delegate浼氳寮哄紩鐢錛夛紝騫朵笖鍙浠ヨ懼畾delegate鍦ㄥ摢涓狾perationQueue鍥炶皟錛屽傛灉鎴戜滑灝嗗叾璁劇疆涓篬NSOperationQueue mainQueue]灝辮兘鍦ㄤ富綰跨▼榪涜屽洖璋冮潪甯哥殑鏂逛究銆
2.鍒涘緩涓涓狽SURLRequest璋冪敤鍒氭墠鐨凬SURLSession瀵硅薄鎻愪緵鐨凾ask鍑芥暟錛屽壋寤轟竴涓狽SURLSessionTask銆
鏍規嵁鑱岃兘涓嶅悓Task鏈変笁縐嶅瓙綾伙細
NSURLSessionUploadTask錛氫笂浼犵敤鐨凾ask錛屼紶瀹屼互鍚庝笉浼氬啀涓嬭澆榪斿洖緇撴灉錛
NSURLSessionDownloadTask錛氫笅杞界敤鐨凾ask錛
NSURLSessionDataTask錛氬彲浠ヤ笂浼犲唴瀹癸紝涓婁紶瀹屾垚鍚庡啀榪涜屼笅杞姐
寰楀埌鐨凾ask錛岃皟鐢╮esume寮濮嬪伐浣溿