天天看點

Qt之HTTP上傳/下載下傳簡述效果QNetworkAccessManager使用轉換總結更多參考

在前面章節中我們講述了關于qt顯示網絡圖檔的内容,比較簡單,因為圖檔一般都比較小,下載下傳到本地速度比較快,是以基本不需要什麼特殊處理,本節我們主要針對http實作上傳/下載下傳進行詳細的講解與分享,包括:使用者認證,實時擷取下載下傳大小、速度、剩餘時間資訊等。

首先看一下即将用到的公式:

檔案剩餘大小 = 檔案總大小 - 檔案已下載下傳大小

平均速度 = 檔案已下載下傳大小 / 檔案已下載下傳大小所用的時間

瞬時速度 = 每秒下載下傳的檔案大小

剩餘時間 = 檔案剩餘大小 / 瞬時速度

下面以下載下傳為例,來實作一個檔案下載下傳管理器。

<a href="#%e7%ae%80%e8%bf%b0">簡述</a>

<a href="#%e6%95%88%e6%9e%9c">效果</a>

<a href="#qnetworkaccessmanager">qnetworkaccessmanager</a>

<a href="#%e4%bd%bf%e7%94%a8">使用</a>

<a href="#%e8%bd%ac%e6%8d%a2">轉換</a>

<a href="#%e6%80%bb%e7%bb%93">總結</a>

<a href="#%e6%9b%b4%e5%a4%9a%e5%8f%82%e8%80%83">更多參考</a>

Qt之HTTP上傳/下載下傳簡述效果QNetworkAccessManager使用轉換總結更多參考

調用download()接口開始下載下傳,關聯downloadprogress信号和槽,可以實時擷取下載下傳大小、速度、剩餘時間等資訊。

下面是一些資料的格式轉換,包括:位元組轉kb、mb、gb,速度轉kb/s、mb/s、gb/s,秒轉*d *h *m *s格式。

一般來說,我們下載下傳檔案到本地,需要設定一個臨時檔案名,這裡我以時間戳為名稱外加.tmp來命名,當然更嚴格的最好再加上随機數,這樣基本就不會出現重名情況。

下載下傳時,首先判斷本地檔案中是否存在與下載下傳檔案同名的檔案,如果有則删除,開始下載下傳。當下載下傳完成時,需要對臨時檔案重新命名。

以上内容比較詳細,介紹了如何進行使用者認證,如何實時擷取下載下傳大小、速度、剩餘時間等資訊,後面我們會針對斷點續傳來進行詳細講解,敬請期待!

<a href="http://blog.csdn.net/u011012932/article/details/53188182">qt之ftp上傳/下載下傳</a>