我们正在构建一个 Tizen Web 应用程序,但这也应该与本机应用程序或 .NET 应用程序相关。
我们使用以下方式下载文件:
var downloadRequest = new tizen.DownloadRequest(url, path);
var downloadId = tizen.download.start(downloadRequest, downloadListener);
由于某些站点的互联网连接较差,下载可能无法完成。如果您在同一个下载文件上运行相同的代码,它不会恢复下载,而是从 0 开始。在互联网连接较差的情况下,由于文件较大,重新启动可能会消耗大量数据。在移动上限连接上,这可能会导致巨额账单和/或由于达到上限而导致连接阻塞。
有一个 .resume 函数,但其目的是恢复用户暂停的下载。它不具有断点续传功能。
我通过启动大量下载并部分终止应用程序进行了测试。然后我再次开始下载,它从 0 开始,但这一次是因为文件存在,并将其命名为 filename(1).ext。
我的问题是,如何从上一个位置恢复失败的下载?
downloadId = tizen.download.start(downloadRequest, 监听器);
tizen.download.resume(downloadId);
如果当前状态为 PAUSED、CANCELED 或 FAILED,则调用resume()方法会将下载状态更改为 DOWNLOADING 或 QUEUED。