vue js 下载文件方法

//下载文件方法

function downLoadByUrl(url, contractName) {

    return new Promise((resolve, reject) => {

        // axios.defaults.headers['content-type'] = ''

        let token = window.localStorage.getItem('accessToken');

        axios({

            method: 'get',

            url: url, // 请求地址

            responseType: 'blob', // 表明返回服务器返回的数据类型

            headers: {

                'Content-Type': 'application/json;charset=UTF-8',

                token: token || ''

            }

        }).then(

            response => {

                resolve(response.data)

                let blob = new Blob([response.data], {

                    type: 'application/vnd.ms-excel'

                })

                // console.log(blob)

                let fileName = contractName + '_' + Date.parse(new Date()) + '.docx'

                if (window.navigator.msSaveOrOpenBlob) {

                    // console.log(2)

                    navigator.msSaveBlob(blob, fileName)

                } else {

                    // console.log(3)

                    var link = document.createElement('a')

                    link.href = window.URL.createObjectURL(blob)

                    link.download = fileName

                    link.click()

                    //释放内存

                    window.URL.revokeObjectURL(link.href)

                }

            },

            err => {

                reject(err)

            }

        )

    })

}

 

vue js 下载文件方法

 

vue js 下载文件方法

handlePdf() {

            let _self = this;

            let query = _self.uuid;

            let url =

                _self.$RequestOb.baseUrl +

                "marketside/peopertypact/print?uuid=" +

                query;

            _self.$RequestOb.downLoadByUrl(url, _self.contractName);

        }