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

新手上路,请多包涵

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

阅读 14k
2 个回答
axios({
    timeout: , // 设置超时时间
    onDownloadProgress: (event) => {
        // 进度查看
    }
})
  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) {
        // 对原生进度事件的处理
      },
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏