• 3
  • 新人请关照

使用axios下载blob文件,文件过大时超时

下载大文件时只有开发者工具这里有显示,浏览器没有显示下载进度(用的谷歌浏览器),如果下载时间过长的话超时了就不会继续下载了,这种情况怎么解决呢?前端解决还是后端解决?怎么可以显示下载进度啊。 image.png

阅读 705
评论
    2 个回答
    axios({
        timeout: , // 设置超时时间
        onDownloadProgress: (event) => {
            // 进度查看
        }
    })
      • 15.9k
      1. 超时问题有两种

        1. 前端设置了 timeout,不设置即可
        2. 服务端断开了链接,服务端把时间改长点
      2. 进度的问题,前端发请求是有两个进度的,都可以监听用于显示

        1. 上传进度 前端培训-中级阶段(21)- xhr2、FormData(2019-10-17期)
          demo - http://www.lilnong.top/static/html/bug-test-img-upload-cut.html
        2. 下载进度 前端培训-初级阶段-场景实战(2019-06-06)-下载文件&下载进度
      3. axios 中的进度回调

          // `onUploadProgress` 允许为上传处理进度事件
          onUploadProgress: function (progressEvent) {
            // 对原生进度事件的处理
          },
        
          // `onDownloadProgress` 允许为下载处理进度事件
          onDownloadProgress: function (progressEvent) {
            // 对原生进度事件的处理
          },
        撰写回答

        登录后参与交流、获取后续更新提醒