JAVA返回前端文件流 post 方式下載 (2種方式)

方式一:

this.postExcelFile(res.data.data,`${base.baseUrl}/sys/recordTemplate/exportExcel`);

第一個(gè)參數(shù)是 文件流? ? ? res.data.data

第二個(gè)參數(shù)是下載地址? ?`${base.baseUrl}/sys/recordTemplate/exportExcel`

postExcelFile(params,?url)?{

??????????//?params是post請求需要的參數(shù),url是請求url地址

??????????const?form?=?document.createElement('form');

??????????form.style.display?=?'none';

??????????form.action?=?url;

??????????form.method?=?'post';

??????????document.body.appendChild(form);

??????????const?input?=?document.createElement('input');

??????????input.type?=?'hidden';

??????????input.name?=?'idList';

??????????input.value?=?params;

??????????form.appendChild(input);

??????????form.submit();

??????????form.remove();

??????},

完整代碼:

this.$api.paramsConfig.checkExportExcelTemplate(ids).then(res?=>?{

??????????return?res;

????????}).then((res)=>{

??????????const?h?=?this.$createElement

??????????let?stringResult?=?res.data.message.split(';');

??????????let?arr?=?[]

??????????stringResult.forEach(item?=>?{

????????????let?_t?=?h('p',item)

????????????arr.push(_t)

??????????});

??????????this.$confirm('提示',?{

????????????title:?'提示',

????????????message:?h('div',?arr),

????????????confirmButtonText:?'繼續(xù)下載',

????????????cancelButtonText:?'取消'

??????????}).then(()?=>?{

??????????????this.postExcelFile(res.data.data,`${base.baseUrl}/sys/recordTemplate/exportExcel`);

??????????}).catch(()?=>?{

????????????this.$message({

??????????????type:?'info',

??????????????message:?'已取消操作',

??????????????duration:?1500

????????????});

??????????});

????????}).catch((err)=>{

??????????let?stringResult?=?err.data.message.split(';');

??????????let?arr?=?[]

??????????stringResult.forEach(item?=>?{

????????????let?_t?=?item+'<br?/>'

????????????arr.push(_t)

??????????});

??????????this.$alert(arr.join().replace(/,/,''),?'信息提示',?{

????????????dangerouslyUseHTMLString:?true

??????????});

????????})

??????},

??????postExcelFile(params,?url)?{

??????????//?params是post請求需要的參數(shù),url是請求url地址

??????????const?form?=?document.createElement('form');

??????????form.style.display?=?'none';

??????????form.action?=?url;

??????????form.method?=?'post';

??????????document.body.appendChild(form);

??????????const?input?=?document.createElement('input');

??????????input.type?=?'hidden';

??????????input.name?=?'idList';

??????????input.value?=?params;

??????????form.appendChild(input);

??????????form.submit();

??????????form.remove();

??????},


方式二:

this.$api.lxtinitial.download(params).then(res?=>?{

????????????if(res.data.respCode?==?0){

??????????????const?url?=?base.wang?+'/file'+?res.data.data;

??????????????const?a?=?document.createElement('a');

??????????????a.setAttribute('href',?url);

??????????????a.click();

????????????}else{

??????????????this.$message.error({message:?res.data.message,?duration:?1500});

????????????}

??????????})

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容