38 lines
1.7 KiB
JavaScript
38 lines
1.7 KiB
JavaScript
/**
|
||
* Copyright [2022] [https://www.xiaonuo.vip]
|
||
* Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||
* 2.请不要删除和修改Snowy源码头部的版权声明。
|
||
* 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
|
||
* 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
|
||
* 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
|
||
* 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
|
||
*/
|
||
import { message } from 'ant-design-vue'
|
||
|
||
export default {
|
||
// 对下载的流进行处理,直接从浏览器下载下来
|
||
resultDownload (res) {
|
||
if (res.data.type === 'application/json') {
|
||
// 错误以及无权限
|
||
const reader = new FileReader(res.data)
|
||
reader.readAsText(res.data)
|
||
reader.onload = () => {
|
||
const result = JSON.parse(reader.result)
|
||
message.error(result.msg)
|
||
}
|
||
} else {
|
||
const blob = new Blob([res.data], { type: 'application/octet-stream;charset=UTF-8' })
|
||
const contentDisposition = res.headers['content-disposition']
|
||
const patt = new RegExp('filename=([^;]+\\.[^\\.;]+);*')
|
||
const $link = document.createElement('a')
|
||
$link.href = URL.createObjectURL(blob)
|
||
$link.download = decodeURIComponent(patt.exec(contentDisposition)[1])
|
||
$link.click()
|
||
document.body.appendChild($link)
|
||
document.body.removeChild($link) // 下载完成移除元素
|
||
window.URL.revokeObjectURL($link.href) // 释放掉blob对象
|
||
}
|
||
}
|
||
}
|