您好,登錄后才能下訂單哦!
利用Wi-Fi從pc端上傳文件到iOS設備上
首先,從Github下載cocoa-web-resource:
pc瀏覽器運行的效果:
代碼中如果不想端口為大家所熟知的,可以隨機生產一個端口號,在代碼的操作很簡單,只要在CocoaWebResourceViewController.m文件中注釋[httpServer setPort:8080];這一行代碼,以后開啟server就是一個隨機的端口號。
cocoa-web-resource能進行上傳各種文件,美中不足的是當上傳一個大一點的文件,在pc的瀏覽器給人的感覺就是卡住了,體驗不是很好,后來參考了博文:關于CocoaWebResource加載進度的方法。但博文講的不是很詳細,對于初學者來說,還是不知道怎么把進度條加上。在此博文的基礎上,先聲明一個全局變量progressView,初始化:
?
1 2 3 | progressView = [[UIProgressView alloc]initWithFrame:CGRectMake(30, 150, 250, 10)]; progressView.progress = 0; [self.view addSubview:progressView]; |
三個監聽的事件:
?
1 2 3 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(uploadingStart:) name:@ "UploadingStarted" object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(uploadingProgress:) name:@ "UploadingProgress" object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(uploadingFinish:) name:@ "UploadingFinished" object:nil]; |
三個監聽的函數:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #pragma mark 監聽上傳的過程 //開始上傳 -( void )uploadingStart:(NSNotification *)notification { NSLog(@ "start" ); } //正在上傳 -( void )uploadingProgress:(NSNotification *)notification { NSString *progress = notification.object; progressView.progress = [progress floatValue]; NSLog(@ "progress = %@" ,progress); } //上傳完成 -( void )uploadingFinish:(NSNotification *)notification { NSLog(@ "finish" ); } |
這一來,上傳文件的進度條就有了。
該demo還有一個好處,如果你想要顯示上傳在設備上的文件,你可以用uitableview通過此數組fileList來展現,然后你在此函數- (void)loadFileList最后加上[listTable reloadData];每次上傳完或delete之后,數據會自動刷新,基本上滿足的需求。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。