当前位置: 首页 > news >正文

重庆建设造价工程信息网站五大门户网站

重庆建设造价工程信息网站,五大门户网站,安徽品质网站建设创新,全自动网站建设在 Vue 中实现下载时暂停和恢复功能#xff0c;通常可以借助 XMLHttpRequest 对象来控制下载过程。XMLHttpRequest 允许在下载过程中暂停和继续请求。 实现步骤 创建 Vue 组件#xff1a;创建一个 Vue 组件#xff0c;包含下载、暂停和恢复按钮。初始化 XMLHttpRequest 对…在 Vue 中实现下载时暂停和恢复功能通常可以借助 XMLHttpRequest 对象来控制下载过程。XMLHttpRequest 允许在下载过程中暂停和继续请求。 实现步骤 创建 Vue 组件创建一个 Vue 组件包含下载、暂停和恢复按钮。初始化 XMLHttpRequest 对象在组件中初始化一个 XMLHttpRequest 对象用于处理下载请求。实现下载功能通过 XMLHttpRequest 发起下载请求并监听下载进度。实现暂停功能暂停 XMLHttpRequest 请求。实现恢复功能恢复 XMLHttpRequest 请求。 详细代码 templatediv!-- 下载按钮点击触发 downloadFile 方法 --button clickdownloadFile下载/button!-- 暂停按钮点击触发 pauseDownload 方法 --button clickpauseDownload :disabled!isDownloading || isPaused暂停/button!-- 恢复按钮点击触发 resumeDownload 方法 --button clickresumeDownload :disabled!isPaused恢复/button!-- 显示下载进度 --p下载进度: {{ progress }}%/p/div /templatescript export default {data() {return {xhr: null, // 存储 XMLHttpRequest 对象isDownloading: false, // 标记是否正在下载isPaused: false, // 标记是否暂停下载progress: 0, // 下载进度百分比url: https://example.com/file.zip, // 下载文件的 URL需要替换为实际的文件 URLresumeOffset: 0 // 恢复下载时的偏移量};},methods: {downloadFile() {// 创建一个新的 XMLHttpRequest 对象this.xhr new XMLHttpRequest();// 打开一个 GET 请求设置响应类型为 blobthis.xhr.open(GET, this.url, true);this.xhr.responseType blob;// 如果有恢复偏移量设置请求头的 Rangeif (this.resumeOffset 0) {this.xhr.setRequestHeader(Range, bytes${this.resumeOffset}-);}// 监听下载进度事件this.xhr.addEventListener(progress, (event) {if (event.lengthComputable) {// 计算下载进度百分比this.progress Math.round((this.resumeOffset event.loaded) / (this.resumeOffset event.total) * 100);}});// 监听请求完成事件this.xhr.addEventListener(load, () {this.isDownloading false;this.isPaused false;this.resumeOffset 0;// 创建一个临时的 URL 对象const url window.URL.createObjectURL(this.xhr.response);// 创建一个 a 元素const a document.createElement(a);a.href url;a.download file.zip; // 设置下载文件名// 模拟点击 a 元素进行下载a.click();// 释放临时 URL 对象window.URL.revokeObjectURL(url);});// 监听请求错误事件this.xhr.addEventListener(error, () {this.isDownloading false;this.isPaused false;console.error(下载出错);});// 开始发送请求this.xhr.send();this.isDownloading true;this.isPaused false;},pauseDownload() {if (this.isDownloading !this.isPaused) {// 暂停下载终止 XMLHttpRequest 请求this.xhr.abort();this.isPaused true;// 记录当前下载的偏移量this.resumeOffset this.xhr.response.byteLength || 0;}},resumeDownload() {if (this.isPaused) {// 恢复下载调用 downloadFile 方法this.downloadFile();}}} }; /script代码注释 代码中的注释已经详细解释了每一步的作用以下是一些关键部分的总结 downloadFile 方法创建 XMLHttpRequest 对象发起下载请求监听下载进度和完成事件处理下载完成后的文件保存。pauseDownload 方法暂停下载终止 XMLHttpRequest 请求并记录当前下载的偏移量。resumeDownload 方法恢复下载调用 downloadFile 方法并设置请求头的 Range 以从指定位置继续下载。 使用说明 替换文件 URL将 data 中的 url 属性替换为实际要下载的文件的 URL。引入组件将上述代码保存为一个 Vue 组件例如 DownloadComponent.vue然后在需要使用的地方引入该组件。 templatedivDownloadComponent //div /templatescript import DownloadComponent from ./DownloadComponent.vue;export default {components: {DownloadComponent} }; /script运行项目在浏览器中运行 Vue 项目点击“下载”按钮开始下载文件点击“暂停”按钮暂停下载点击“恢复”按钮继续下载。
http://www.zqtcl.cn/news/571375/

相关文章:

  • 安徽网站建设的基本步骤接外贸订单的平台
  • 那些网站可以找得到做货代的广东企业微信网站开发
  • 海宁市建设局官方网站6哔哩哔哩网页版官网在线观看
  • 泉州网站建设轩奇网讯韩国美容网站模板
  • 培训好吗网站建设wordpress手游
  • 元典科技网站建设网页设计制作图片页面
  • 网站设置什么意思无代码搭建平台
  • 织梦做的网站后台登录做网站购买域名
  • 哈尔滨网站关键词优化排名合江做网站
  • 手机网站自动适配旅游网络营销方案
  • 敦化网站开发黔东南购物网站开发设计
  • 建设一个网站 需要提供什么如何免费推广自己的网站
  • 佛山企业网站制作公司中国互联网企业100强榜单
  • 买了域名就可以做网站怎么创造游戏软件
  • 广东广州电脑个人建站徐州网站排名公司
  • 网站优化 流量做网站对企业有什么好处
  • 建设机械网站制作人工智能工程师月薪多少
  • wordpress 百度站长沈阳app开发公司哪家好
  • 做网站平台公司网站建设硬件环境
  • 可视化编辑建站平台新密市城乡建设局网站
  • 电子商务的网站的建设内容wordpress主题 微软
  • 什么软件可以做动画视频网站网站的按钮怎么做 视频
  • 饰品做商城网站模式17网站一起做网店新塘
  • 微信做的地方门户网站做设计的平台
  • 旅游网站建设国内外现状安卓开发软件安装教程
  • 网站建设必备网站自助建设
  • 杭州免费自助建站模板辽宁建设工程信息网为什么打不开
  • sdcms网站源码百度怎么免费做网站
  • 图书馆网站参考咨询建设wordpress安装500
  • 详细描述建设网站wordpress 子页面