最近使用Qt需要用到http下载文件,其中关于断点续传的问题被困扰了,在这里记下来。
1,Qt使用http实现下载主要用到的3个类 QNetworkAccessManager,QNetworkRequest,QNetworkReply。
2,主要用到的类的信号与槽(个人理解)如下: m_reply = m_networkAccessManager->get(request); //请求下载
connect(m_reply, SIGNAL(downloadProgress(qint64, qint64)), this,SLOT(onDownLoadProgress(qint64, qint64)));//获取到的字节数
connect(m_reply, SIGNAL(readyRead()), this, SLOT(onReadyRead()));//更新字节数写入文件
connect(m_reply, SIGNAL(finished()), this, SLOT(onFinished()));//下载完成处理
connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), this,SLOT(onError(QNetworkReply::NetworkError)));//下载出错处理
3,其中涉及到的断点,要用到http协议的Range头,如下,