download.js (实例2)下载
调用
this.$download.url('/api/v1/org/question/exportData', datVal, `${this.questMess.name}.xlsx`);
js文件
import { saveAs } from 'file-saver'
import axios from 'axios'
import { getToken } from '@/utils/util'
import { tansParams } from "@/utils/ruoyi";
// const baseURL = process.env.VUE_APP_API_URL
//const baseURL = 'https://rly.zgshzyp.com'
//const baseURL = 'http://localhost:8080'
// console.log(baseURL)
// var baseURL = ''
// if (process.env.NODE_ENV == 'production') {
// baseURL = process.env.VUE_APP_API_URL
// } else if (process.env.NODE_ENV == 'test') {
// baseURL = process.env.VUE_APP_API_URL
// } else if (process.env.NODE_ENV == 'test1') {
// baseURL = process.env.VUE_APP_API_URL
// }
export default {
// + "&delete=" + isDelete
//如果这里设置值 又不传参 导致后台报错 默认传Y
name(urlBase, name, isDelete = true) {
// var url = baseURL + "/api/v1/common/downloadTemple?fileName=" + encodeURI(name)
var url = urlBase
console.log(url)
let index = url.lastIndexOf(".")
let strType = urlBase.substring(index, url.length);
let newName = name + strType
console.log(newName)
// return
axios({
method: 'get',
url: url,
responseType: 'blob',
headers: { 'Authorization': 'Bearer ' + getToken() }
}).then(res => {
console.log('再这里开始的')
// console.log(res)
// console.log(res.data)
// console.log(res.headers)
// console.log(res.headers['download-filename'])
// console.log(name)
// console.log('end')
const blob = new Blob([res.data])
// this.saveAs(blob, decodeURI(res.headers['download-filename']))
this.saveAs(blob, newName)
})
},
resource(resource) {
var url = baseURL + "/api/v1/common/download/resource?resource=" + encodeURI(resource);
axios({
method: 'get',
url: url,
responseType: 'blob',
headers: { 'Authorization': 'Bearer ' + getToken() }
}).then(res => {
const blob = new Blob([res.data])
this.saveAs(blob, decodeURI(res.headers['download-filename']))
})
},
zip(url, name) {
var url = baseURL + url
axios({
method: 'get',
url: url,
responseType: 'blob',
headers: { 'Authorization': 'Bearer ' + getToken() }
}).then(res => {
const blob = new Blob([res.data], { type: 'application/zip' })
this.saveAs(blob, name)
})
},
// ly20221031 url,params
url(urlBase,params, name,type) {
var url = urlBase
axios({
method: type||'post',
url: url,
params,
responseType: 'blob',
data:params,
headers: { 'Authorization': 'Bearer ' + getToken() }
}).then(res => {
const blob = new Blob([res.data])
this.saveAs(blob, name)
})
},
saveAs(text, name, opts) {
saveAs(text, name, opts);
}
}

浙公网安备 33010602011771号