我正在尝试使用带有Javascript的XMLHttpRequest Object的Web链接下载文件。我无法确定是否可以暂停下载以及稍后恢复它?
答案 0 :(得分:3)
技术上有可能, 如果没有暂停/恢复,您可以使用responseType“blob”执行XmlHttpRequest,然后通过链接将blob转发给用户(通过点击即可立即下载,如mega)
但是如果你想要暂停/恢复,我必须使用XmlHttpRequest的方法中止,创建一个临时blob,当用户恢复下载时,你需要从你之前请求的字节开始一个新的xhr停。完成下载(或发生新的中止)后,您需要将所有新字节添加到上一个blob。
我需要尝试一下,但唯一的限制(我认为)可能是浏览器崩溃或blob配额exed。
对不起我的英语,我是法国青蛙;)
答案 1 :(得分:0)
您可以执行此操作,但它还取决于服务器执行此操作的能力。
要“暂停”,您可以abort()
将请求保留在已经收到的响应中。
How to cancel/abort jQuery AJAX request?
要继续,您必须要求服务器仅发送丢失的部分。这都是关于http范围和部分内容的。 这是一些不错的阅读材料:https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests