李洪強iOS開發之斷點續傳1

2021-09-08 18:42:54 字數 2886 閱讀 3779

未完待續..

// //  viewcontroller.m

//  a18 - duo wen jian shang chuan

////  created by 李洪強on 16/6/29.

//

#import "viewcontroller.h"

//    斷點續傳

// 1 獲取伺服器上檔案的大小

//傳送head請求(

//傳送同步請求)

//// 2 獲取伺服器檔案的資訊

//[self getseverfileinfo:url];

//    獲取本地檔案的資訊//

//3  - (long long)獲取本地檔案的大小

//

//}獲取伺服器檔案的資訊.拼接了儲存到本地檔案的路徑

呼叫獲取伺服器檔案的資訊的方法

呼叫獲取本地檔案的資訊的方法

/** *

*  @param url

*  @param offset

*/- (void)download:(nsurl *)url offset:(longlong)offset

當拿到檔案的大小之後給self.currentlen = filesize

判斷(本地檔案大小== 伺服器大小)

- ()獲取伺服器上檔案的大小

獲取本地檔案的資訊

-(longlong) 獲取本地檔案的大小

//判斷本地文 伺服器檔案大小

if()

return0; }

//--------------------------------------

//總結:

////    做斷點續傳的時候,要傳送head請求

//用**: nsurlconnectiondatadalegate //

//儲存檔案:有進度提示了,但是記憶體會暴漲

//解決記憶體暴漲: 下一點,儲存一點

//nsfilehandle   檔案的位址,對檔案進行讀寫操作

//流//

////斷點續傳實現的過程:

//

訊息迴圈: 等待使用者的事件

事件源: 使用者輸入的事件timer

訊息迴圈的模式->必須和事件源指定

nsdefaultrunloopmode

nsrunloopcommonmodes

模式必須匹配才會被執行

當你拖動的時候,模式程式設計了,uieventtracking模式

@inte***ceviewcontroller ()

@end

@implementationviewcontroller

- (void)viewdidload

- (void)touchesbegan:(nsset*)touches withevent:(uievent *)event;

nsdictionary *params = @;

[selfuploadfiles:strurl files:files name:@"userfile"params:params];

} //files   陣列來存多個檔案

//name   input標籤的name  只有乙個

// filenames 多個檔案的名字//

//- (void)uploadfiles:(nsstring *)strurl filedatas:(nsarray *)filedatas name:(nsstring *)name filenames :(nsarray *)filenames

//檔案的名字作為鍵

//檔案的nsdata 作為值

//---->簡化一下

//除了上傳檔案還要提交其他的資訊

//上傳多個檔案

#define kboundary @"aaabbcc"

- (void)uploadfiles:(nsstring *)strurl files:(nsdictionary *)files name:(nsstring *)name params: (nsdictionary *)paramselse

}else

}];

} - (nsdata *)makebody:(nsdictionary *)files name:(nsstring *)name params: (nsdictionary *)params];

//2 準備表單資料

[params enumeratekeysandobjectsusingblock:^(nsstring *key, nsstring *value, bool* _nonnullstop) ];

//3  結束標識

nsstring *end = [nsstring stringwithformat:@"\r\n--%@--\r\n",kboundary];

returnmdata.copy; }

- (void)didreceivememorywarning

@end

iOS開發之斷點續傳原理與實現

來自 斷點續傳的原理 斷點續傳關鍵 2.建立請求物件 nsmutableurlrequest request nsmutableurlrequest requestwithurl url 設定請求頭資訊,說明只需要請求該次源的一部分資料 用來做 練習的api介面 2 關鍵完整 所以在使用 respo...

李洪強iOS開發之Foundation框架 結構體

foundation框架 結構體 一 基本知識 foundation 基礎框架。框架中包含了很多開發中常用的資料型別,如結構體,列舉,類等,是其他ios框架的基礎。如果要想使用foundation框架中的資料型別,那麼包含它的主標頭檔案就可以了。即 import 補充 core foundation...

李洪強iOS開發之 PCH檔案的配置

pch 可以用來儲存共享資訊,比如裝置螢幕的寬度,高度。版本號等等 公用資訊 xcode 老版本會自動為我們建立pc 件,新版本開始不自動建立了,如果需要使用可以自己手動建立 建立完成後可以在裡面定義常量 此處以螢幕尺寸為例 如下 分割線 分割線 分割線 分割線 分割線 分割線 如下 獲取螢幕 寬度...