在请求接口中设置responseType:'blob',可以正常下载

  1. //封装的axios

export function downloadAttachment(params){
    return request({
        url:'/api/course/downloadAttachment',
        params,

        responseType:'blob'//设置返回类型为blob

    })
}

downloadAttachment({
                 courseId:item.courseId,//课程ID
                 attachmentId:item.id//课程资料ID
            }).then((res)=>{
                
                 let blob = new Blob([res]);
                  let fileName = item.attachmentName;
                  let fileUrl = item.attachmentUrl;
                  const extName = fileUrl.substring(
                        fileUrl.lastIndexOf('.')
                    )
                    fileName=fileName+extName
                    const link = document.createElement('a');
                          link.download = fileName;
                          link.target = '_blank';
                          link.style.display = 'none';
                          link.href = URL.createObjectURL(blob);
                          document.body.appendChild(link);
                          link.click();
                          URL.revokeObjectURL(link.href);
                          document.body.removeChild(link);
                    
                 

            })

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐