项目中遇到一个问题,文件下载时,axios莫名报错,只有部分浏览器会有这个问题 报错内容为:Network Error,从浏览器控制台查看,下载链接只下载了几兆就断开了,再无其他报错。 从服务端看,下载接口报错 Pipe broken. 经查阅资料,此报错为浏览器端主动断开下载通道,但是浏览器实际上又没有做什么操作。这是为什么呢。
经查阅资料,部分浏览器会对blob下载有大小限制,如果下载的blob过大,很可能会被浏览器自动断开,所以,responseType最好不要用blob,可以考虑换为arraybuffer,在接收到数据后,手动将其转换为blob
const blob = new Blob([arraybuffercontent])