因为后台返回的是文件流,浏览会自动打开并且乱码,我们要对返回的数据进行处理,responseType,值默认为空的情况下,浏览器打开会出现乱码,根据后台返回情况设为blob、arrayBuffer
、json、text、document、json,将文件格式转换过来过来后,再下载和重命名。
下面是示例代码(blob):
('/jssj-api/screen/export', {params: { containerNo },// baseURL: '10.161.41.443:2021',baseURL: window.host2,responseType: 'blob', //设置响应的数据类型为一个包含二进制数据的 Blob 对象,必须设置// headers:{Authorization :'Bearer ' + Item('access_token')}}).then(res => {let blob = res.datavar blobURL = ateObjectURL(blob)var a = ateElement('a')// a.download = `${nowTime}${xlsName}`a.download = '文件名称.xlsx'a.href = blobURLdocument.body.appendChild(a)a.click()veChild(a)loadingBox.close()}).catch(function (error) { // 请求失败处理Message.warning('网络异常!')})
本文发布于:2024-01-29 15:34:17,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170651366116280.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |