我看c++代码的实现 资源下载及断点续传的操作 都是封装在CCDownloader-curl类里面的。
看了下里面的实现 大概步骤是
- 将stroagePath+tempSuffix 作为文件名在本地创建一个空文件
- 下载过程中 持续的往里写文件
- 下载成功 将文件名的tempSuffix去掉
现在 发现 执行到第3步时 当资源无论是下载成功还是失败 都是去掉文件名的tempSuffix。
这样 即使文件下载失败了 ,下次重新下载 相当于本地并没有对应的stroagePath+tempSuffix文件了,也就是还要从新下载。这里是不是有问题呢。
感觉有问题的代码 DownloaderCURL::_onSchedule()里面如下位置
这里并没有判断 curl的返回值 只是简单的 renameFile
