downFiles 下载文件方法

return: Promise

使用指南

全局使用 (推荐)
  1. import {req} from './common/request/request.js'; //文件路径请换成本地路径
  2. Vue.prototype.$req = req; //挂载到原型上
局部使用
  1. import {req} from './common/request/request.js';
  2. const res = await req.downFiles({
  3. path: "http://pic.topmeizi.com/wp-content/uploads/2017a/04/08/01.jpg",
  4. })

注意事项


此方法只能一次下载一个,如果需要批量下载则调用startDownFiles方法。


代码演示

1.简单使用
  1. const res=await this.$req.downFiles({
  2. path:'http://localhost:10086/static/hhyang.txt',
  3. })
  4. console.log(res)
2.带下载提示
  1. const res = await this.$req.downFiles({
  2. path: 'http://localhost:10086/static/hhyang.txt',
  3. title: "正在下载"
  4. })
  5. console.log(res)
3.带拦截下载
  1. const res = await this.$req.downFiles({
  2. path: 'http://localhost:10086/static/hhyang.txt',
  3. title: "正在下载",
  4. abort:(bt,params)=>{
  5. bt.abort(); //拦截此次下载
  6. }
  7. })
  8. console.log(res)
4.带额外参数下载
  1. const res = await this.$req.downFiles({
  2. path: 'http://localhost:10086/static/hhyang.txt',
  3. title: "正在下载",
  4. name:'hhyang',
  5. ages:'21'
  6. })
  7. console.log(res)
5.带进度条下载
  1. const res = await this.$req.downFiles({
  2. path: 'http://localhost:10086/static/hhyang.txt',
  3. abort: (bt,params) => {
  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)
6.自定义header
  1. const res = await this.$req.downFiles({
  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)

downFiles参数

属性名类型默认值必填描述
pathString下载文件的路径
titleBooleanfalse是否显示下载提示,下载完成自动消失
abortFunction返回两个参数。第一个为下载实例,可用于监听下载进度 或者拦截此次下载。第二个为调用当前方法传递的所有参数
headerObjectHTTP 请求 Header, header 中不能设置 Referer
[…ages]Object/String/Array/Number其他额外参数,不做任何处理,下载完成后返回个你,可以通过此标记一个请求