https://blog.youkuaiyun.com/GoForwardToStep/article/details/52704464
本文旨在修正上述博客遇到的断点下载问题:
断点之后下载的文件偏大
- 解析:
下载过程中,downloadProgress(qint64, qint64)信号触发的次数和readyRead()信号触发的次数不一样。onDownLoadProgress(qint64, qint64)槽中接收的字节数滞后了。
- 解决办法:
m_bytesCurrentReceived为当前下载的文件大小,
在onReadyRead()写文件时,实时获取当前下载的文件大小。修改如下:
void DownLoadManager::onReadyRead()
{
if (!m_isStop)
{
QFile file(m_fileName);
if (file.open(QIODevice::WriteOnly | QIODevice::Append))
{
file.write(m_reply->readAll());
m_bytesCurrent