我希望实现在下载时用户可以暂停、停止下载的功能。如何使用DownloadManager实现这一功能?
我希望实现在下载时用户可以暂停、停止下载的功能。如何使用DownloadManager实现这一功能?
Range
HTTP头来重新启动它(如TryTryAgain所提到的)。我认为目前没有更简单的方法。// Open connection to URL.
HttpURLConnection connection =
(HttpURLConnection) url.openConnection();
// Specify what portion of file to download.
connection.setRequestProperty("Range", "bytes=" + downloaded + "-");
// here "downloaded" is the data length already previously downloaded.
// Connect to server.
connection.connect();
除非您确实需要允许“暂停”(因为需要切换文件下载优先级、维护列表或其他更复杂的操作),而不仅仅是提供恢复能力,否则这应该会有所帮助。
你是指在Web应用程序中实现这个吗?
我也在考虑同样的事情。这可能可以通过flash或silverlight等方式实现,但在纯HTML中呢?
在服务器端,我们可以使用RandomAccessFileReader(Apache)或类似的FileReader(按字节)来访问文件并写入输出流。我们还可以记住用户上一次会话下载了多少字节。但问题在于没有标准的方法将文件保存到客户端本地文件系统中。您可以在IE中使用ActiveX对象来编写某些文件,前提是它是顺序(纯文本)文件而不是二进制文件(如mp3、flv等)。但这个ActiveX不是解决方案。因此,您可能需要为您的网站设计类似于“下载器”的东西。就像Youtube Downloader一样。