| | |
| | | url: url,
|
| | | responseType: 'blob',
|
| | | headers: { 'Authorization': 'Bearer ' + getToken() }
|
| | | }).then(async (res) => {
|
| | | const isLogin = await blobValidate(res.data);
|
| | | if (isLogin) {
|
| | | }).then((res) => {
|
| | | const isBlob = blobValidate(res.data);
|
| | | if (isBlob) {
|
| | | const blob = new Blob([res.data])
|
| | | this.saveAs(blob, decodeURIComponent(res.headers['download-filename']))
|
| | | } else {
|
| | |
| | | url: url,
|
| | | responseType: 'blob',
|
| | | headers: { 'Authorization': 'Bearer ' + getToken() }
|
| | | }).then(async (res) => {
|
| | | const isLogin = await blobValidate(res.data);
|
| | | if (isLogin) {
|
| | | }).then((res) => {
|
| | | const isBlob = blobValidate(res.data);
|
| | | if (isBlob) {
|
| | | const blob = new Blob([res.data])
|
| | | this.saveAs(blob, decodeURIComponent(res.headers['download-filename']))
|
| | | } else {
|
| | |
| | | url: url,
|
| | | responseType: 'blob',
|
| | | headers: { 'Authorization': 'Bearer ' + getToken() }
|
| | | }).then(async (res) => {
|
| | | const isLogin = await blobValidate(res.data);
|
| | | if (isLogin) {
|
| | | }).then((res) => {
|
| | | const isBlob = blobValidate(res.data);
|
| | | if (isBlob) {
|
| | | const blob = new Blob([res.data], { type: 'application/zip' })
|
| | | this.saveAs(blob, name)
|
| | | } else {
|
| | |
| | | // 获取错误信息
|
| | | const msg = errorCode[code] || res.data.msg || errorCode['default']
|
| | | // 二进制数据则直接返回
|
| | | if(res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer'){
|
| | | if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
|
| | | return res.data
|
| | | }
|
| | | if (code === 401) {
|
| | |
| | | responseType: 'blob',
|
| | | ...config
|
| | | }).then(async (data) => {
|
| | | const isLogin = await blobValidate(data);
|
| | | if (isLogin) {
|
| | | const isBlob = blobValidate(data);
|
| | | if (isBlob) {
|
| | | const blob = new Blob([data])
|
| | | saveAs(blob, filename)
|
| | | } else {
|
| | |
| | | }
|
| | |
|
| | | // 验证是否为blob格式
|
| | | export async function blobValidate(data) {
|
| | | try {
|
| | | const text = await data.text();
|
| | | JSON.parse(text);
|
| | | return false;
|
| | | } catch (error) {
|
| | | return true;
|
| | | }
|
| | | } |
| | | export function blobValidate(data) {
|
| | | return data.type !== 'application/json'
|
| | | }
|