问题:调取后台接口返回的数据流是正确的,但是前端下载文件之后,Wireshark不能正常打开。
贴上代码:
问题排查:postman下载的文件,是可以正常打开的,排除后台接口的问题,只能是前端代码的问题,经过一番折腾,发现问题可能出在:接受到文件流之后,经过了一系列转码之后,过程中使用的一些转换方式或者编码方式不对,导致下载后的文件不能正常解析。经过后台小伙伴以及百度的帮助。改写了前端代码:重新写了一个axios的请求,
注意重点:响应方式改为:responseType:'arraybuffrer'
axios({ method: 'post', url: `${url}`, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer" + " " + window.sessionStorage.getItem("Authorization") // 本项目调取接口的必传参数 }, data:params, responseType: 'arraybuffer' });
再次下载的文件可以正常打开了