RxDownload
RxDownload copied to clipboard
为何下载成功后会是临时.download结尾的文件,只有再次下载方能下载成功
disposable = RxDownloadKt.download(url).observeOn(AndroidSchedulers.mainThread()).subscribe(new Consumer<Progress>() {
@Override
public void accept(Progress progress) throws Exception {
CLog.e("progress:" + progress.percentStr());
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
CLog.e("throwable:"+throwable.getMessage());
}
}, new Action() {
@Override
public void run() throws Exception {
File file = RxDownloadKt.file(url);
CLog.e("下载完成:" + file.getAbsolutePath()+ ",exists:" +file.exists());
}
});
打印日志无异常信息,进度100%完成后,日志文件显示该文件不存在,但是存储位置存在以.download和.tmp的2个文件。如果再次运行这段程序,则下载成功,不再有临时文件。
运行于夜神模拟器
可以在下载完成后手动修改文件名
可以在下载完成后手动修改文件名
哦,好的,谢谢!
我也遇到这个问题了【mumu和夜神模拟器都有问题】,我看了问题出现的位置是在RangeDownloader的startDownload方法doOnComplete的回调上,文件的操作都失败了: shadowFile.renameTo(file) 和 tmpFile.delete() 都没有生效,手动修改也不生效,最后我是通过复制文件来解决的。