自定义下载管理器javascript

自定义下载管理器javascript,javascript,file,download,prompt,Javascript,File,Download,Prompt,名为的文件共享网站具有创建自定义下载管理器的功能。下载文件时,它会在网站上显示自定义进度条(可能是将文件加载到缓存中),然后为缓存的文件创建下载提示。这是如何用javascript生成的?据我所知,Mega.com使用这种内部下载管理器,因为它们在服务器上以加密形式存储数据;加密和解密在浏览器中进行 存储 您可以使用IndexedDB存储二进制数据。下面是一个示例,解释如何使用AJAX下载图像并将其保存在IndexedDB中 当您将数据存储在IndexedDB中时,您应该有机会下载它(从内部浏览

名为的文件共享网站具有创建自定义下载管理器的功能。下载文件时,它会在网站上显示自定义进度条(可能是将文件加载到缓存中),然后为缓存的文件创建下载提示。这是如何用javascript生成的?

据我所知,Mega.com使用这种内部下载管理器,因为它们在服务器上以加密形式存储数据;加密和解密在浏览器中进行

存储 您可以使用IndexedDB存储二进制数据。下面是一个示例,解释如何使用AJAX下载图像并将其保存在IndexedDB中

当您将数据存储在IndexedDB中时,您应该有机会下载它(从内部浏览器存储),如何创建下载提示

进度条 使用
XMLHttpRequest
时,可以通过为
progress
事件提供处理程序来获得下载进度

var oReq = new XMLHttpRequest();

oReq.addEventListener("progress", updateProgress, false);

[...]

function updateProgress (oEvent) {
  if (oEvent.lengthComputable) {
    var percentComplete = oEvent.loaded / oEvent.total;
    // ...
  } else {
    // Unable to compute progress information since the total size is unknown
  }
}
如果服务器未发送带有标题的
内容长度
,则文件的总大小将不可用


.

您的问题有一个完整的答案:


如果您想在
JavaScript
中创建下载管理器,以下文章将帮助您完成工作:

如果要创建文件下载进度,请转到以下链接:


请把更多的思想、时间和精力放在你的工作上,让你的工作完成。如果你不能,请发表评论,下面是我自己的答案;我会帮你详细做的


您可以使用普通的ajax2请求(responseType='blob'),显示该请求的进度,然后使用
URL.createObjectURL(xhr.response)
来提供一个请求。这样如何