分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

js 文件下载 进度条

发布时间:2023-09-06 01:20责任编辑:熊小新关键词:js

js:

 /** ?* 下载文件 - 带进度监控 ?* @param url: 文件请求路径 ?* @param name: 保存的文件名 ?* @param progress: 进度处理回调函数
?* eg: progressDownLoad({url:‘http://loacalhost:8080/downLoad.action‘,‘file.rar‘,progress:function(percent){
?* ???????console.log(percent);
?* ????}}); ?**/ ?function progressDownLoad({url,filename,progress}){ ?????var req = new XMLHttpRequest(); ?????req.open("POST", url, true); ?????//监听进度事件 ?????req.addEventListener("progress", function (evt) { ?????????if (evt.lengthComputable) { ?????????????var percentComplete = evt.loaded / evt.total; ?????????????if(progress) try{ progress.call(percentComplete); }catch(e){} ?????????} ?????}, false); ?????req.responseType = "blob"; ?????req.onreadystatechange = function () { ?????????if (req.readyState === 4 && req.status === 200) { ?????????????if (typeof window.chrome !== ‘undefined‘) { ?????????????????// Chrome version ?????????????????var link = document.createElement(‘a‘); ?????????????????link.href = window.URL.createObjectURL(req.response); ?????????????????link.download = filename; ?????????????????link.click(); ?????????????} else if (typeof window.navigator.msSaveBlob !== ‘undefined‘) { ?????????????????// IE version ?????????????????var blob = new Blob([req.response], { type: ‘application/force-download‘ }); ?????????????????window.navigator.msSaveBlob(blob, filename); ?????????????} else { ?????????????????// Firefox version ?????????????????var file = new File([req.response], filename, { type: ‘application/force-download‘ }); ?????????????????window.open(URL.createObjectURL(file)); ?????????????} ?????????} ?????}; ?????req.send(); ?}

js 文件下载 进度条

原文地址:http://www.cnblogs.com/xtreme/p/7744065.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved