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