startDownFiles 开始下载文件到本地

return: Promise

使用指南

全局使用 (推荐)
  1. //main.js
  2. import {df} from './common/request/request-downFiles.js'; //文件路径请换成本地路径
  3. Vue.prototype.$df = df; //挂载到原型上
局部使用
  1. import {df} from './common/request/request-downFiles.js';
  2. const res = await df.downFiles({
  3. path: 'http://localhost:10086/static/hhyang.txt', //换成自己需要的下载地址
  4. })
  5. console.log(res);

注意事项


因为DonwFiles类继承于Request类,你可以在实例化后的DonwFiles类中使用Request中的方法,而非说在重复导入Request.js。startDownFiles是downFiles的升级版 支持多文件下载。downFiles中的所有参数在startDownFiles一样可以使用,仅是path发生了变化而已 查看所有方法


代码演示

1.简单使用
  1. const res = await this.$df.startDownFiles({
  2. path: 'http://localhost:10086/static/hhyang.txt', //换成自己需要的下载地址
  3. })
  4. console.log(res);
2.带下载提示
  1. const res = await this.$df.startDownFiles({
  2. path: 'http://localhost:10086/static/hhyang.txt', //换成自己需要的下载地址
  3. title:'正在下载',
  4. })
  5. console.log(res);
3.带进度条下载
  1. const res = await this.$df.startDownFiles({
  2. path: 'http://localhost:10086/static/hhyang.txt',
  3. abort: (params,bt) => {
  4. bt.onProgressUpdate(ps => {
  5. console.log('下载进度' + ps.progress);
  6. console.log('已经下载的数据长度' + ps.totalBytesWritten);
  7. console.log('预期需要下载的数据总长度' + ps.totalBytesExpectedToWrite);
  8. })
  9. }
  10. })
  11. console.log(res)
4.批量下载
  1. const res = await this.$df.startDownFiles({
  2. path: ['http://192.168.0.29:10086/static/hhyang.txt', 'http://192.168.0.29:10086/static/cxq.jpg'],
  3. title:'正在下载',
  4. })
  5. console.log(res)
  6. //or
  7. const res = await this.$df.startDownFiles({
  8. path: 'http://192.168.0.29:10086/static/hhyang.txt,http://192.168.0.29:10086/static/cxq.jpg',
  9. title:'正在下载',
  10. })
  11. console.log(res)
5.带拦截下载
  1. const res = await this.$df.startDownFiles({
  2. path: 'http://localhost:10086/static/hhyang.txt', //换成自己需要的下载地址
  3. title:'正在下载',
  4. abort:(params,bt)=>{
  5. if(params.index==0){
  6. bt.abort();
  7. }
  8. }
  9. })
  10. console.log(res);
6.自定义header
  1. const res = await this.$df.startDownFiles({
  2. path: 'http://localhost:10086/static/hhyang.txt',
  3. title: "正在下载",
  4. header:{
  5. "Content-Type":"text/plain; charset=UTF-8"
  6. }
  7. })
  8. console.log(res)

startDownFiles参数

属性名类型默认值必填描述
pathString/Array下载文件的路径,多个用数组或者字符串逗号分隔
titleBooleanfalse是否显示下载提示,下载完成自动消失
abortFunction返回两个参数。第一个为调用当前方法传递的所有参数,每次准备发起下载请求前都会触发这个方法,可以通过index索引区分或者中断批量下载中的指定请求。第二个为下载实例,可用于监听下载进度 或者拦截此次下载
headerObjectHTTP 请求 Header, header 中不能设置 Referer
[…ages]Object/String/Array/Number其他额外参数,不做任何处理,下载完成后返回个你,可以通过此标记一个请求