未完待續..
// // 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 件,新版本開始不自動建立了,如果需要使用可以自己手動建立 建立完成後可以在裡面定義常量 此處以螢幕尺寸為例 如下 分割線 分割線 分割線 分割線 分割線 分割線 如下 獲取螢幕 寬度...