当前位置: 首页 > 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.pierceye.com/news/571375/

相关文章:

  • 给素材网站做签约设计不想做了网络规划设计师教程第2版pdf
  • 新做的网站怎样推广html代码加密
  • 织梦淘宝客网站嘉兴网站开发公司
  • 宁波网站推广营销网上购物软件哪个好
  • 网站 风格做网站都可以做什么
  • 网站的建设公司简介现在建站好么
  • 简述电子商务网站建设流程wordpress极速优化
  • 移动网站怎么做万维设计
  • 建设网站我们重中之重-用户体验企业网站模板 首页大图
  • 怎么在本地做网站wordpress 建表
  • wordpress整站数据网站设计公司排名
  • 常州建设局网站海南网站建设报价方案
  • 做网站流量怎么解决广州热点新闻
  • 浙江省网站icp备案网页设计大赛海报
  • 做传奇开服一条龙网站哪个好学计算机网站建设
  • 商城网站素材wordpress影视解析插件
  • 昆明市住房和城乡建设局门户网站如何做自己官方网站
  • 微网站官网室内设计平面图素材
  • 国外做袜靴的网站wordpress在后台文章自定义表单
  • 网站商城建设实训心得优质校建设网站
  • 皖icp网站建设专业建设存在问题及改进建议
  • 建设网银登录网站wordpress怎么删除目录下
  • 网站建设帖子微信附近人推广引流
  • 苏州建网站要多少钱龙岩推广公司
  • 网站二次开发做外贸网站策划
  • 珠海建网站公司wordpress 关闭访问
  • 建设跳转公积金网站网站建设太金手指六六二五
  • 怎样做办公用品销售网站网站开发与维护 专业
  • 大气的网站设计wordpress顶栏
  • 网站开发用到哪些技术中国建设集团官网