下载文件
import { saveAs } from 'file-saver'
import { Notification, MessageBox, Message, Loading } from 'element-ui'
export function download(url, params, filename, config) {
downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", })
return axios.post(url, params, {
transformRequest: [(params) => { return tansParams(params) }],
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
responseType: 'blob',
...config
}).then(async (data) => {
const isBlob = blobValidate(data);
if (isBlob) {
const blob = new Blob([data])
saveAs(blob, filename)
} else {
const resText = await data.text();
const rspObj = JSON.parse(resText);
const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']
Message.error(errMsg);
}
downloadLoadingInstance.close();
}).catch((r) => {
console.error(r)
Message.error('下载文件出现错误,请联系管理员!')
downloadLoadingInstance.close();
})
}
预览pdf文件
export function previewFile(params) {
let previewLoadingInstance = Loading.service({ text: "正在加载预览文件数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", })
var url = "/common/preview"
console.log(params)
return axios({
method: 'get',
url:process.env.VUE_APP_BASE_API + url,
params: params,
responseType: 'blob',
headers: { 'Authorization': 'Bearer ' + getToken() }
}).then((res) => {
const isBlob = blobValidate(res.data);
if (isBlob) {
const blob = new Blob([res.data], { type: 'application/pdf;charset=utf-8' })
const href = URL.createObjectURL(blob);
window.open(href, 'newWindow');
}
previewLoadingInstance.close();
}).catch((r) => {
Message.error('预览文件出现错误,请联系管理员!')
previewLoadingInstance.close();
})
}