一般後端會返回檔案流的形式
前端會收到一堆亂碼
前端需要對亂碼進行轉譯 成正常的
可以先建立乙個公共的方法檔案,這樣就可以在專案的任何地方使用
utils.js
import from '@/common/utils/common/auth';import axios from 'axios';
import from '@/common/utils/common/cache';
export
function $filedownload(url, config ={}) ,
data: config.data,
responsetype: 'blob'})
.then(
response =>
console.log(index)
filename = filename.substr(index + 21);
filename =decodeuri(filename);
}let filedownload = require('js-file-download');
filedownload(response.data, filename);
if (typeof config.resolve === 'function')
},error =>
}if(haserror)
if (typeof config.reject === 'function') });
}
頁面使用
import from "@/modules/lims/utils/utils";
async tipszpgcalendar()//let config = ,
//reject: () => ,
//};
let url = '/capitalplan/reportsearchzpgcalendar?startdate=' + this.startdate + '&enddate=' + this
.enddate
const hh =await $filedownload(url)
},
handleclick()landprojects.join(",");
str += `$,$`;
str += "\n";
}//encodeuricomponent解決中文亂碼
let uri = "data:text/csv;charset=utf-8,\ufeff" +encodeuricomponent(str);
//通過建立a標籤實現
let link = document.createelement("a");
link.href =uri;
// link.download = `參拍日曆資料表$-$.xls`;
link.click();
document.body.removechild(link);
},
返回檔案流 使用流讀取檔案內容
程式 public static void fis catch exception e 程式執行結果 通過開啟乙個到實際檔案的連線來建立乙個 fileinputstream,該檔案通過檔案系統中的 file 物件 file 指定。通過使用檔案描述符 fdobj 建立乙個 fileinputstrea...
基於前後端分離向前端返回excel資料流
前言 本文介紹的是阿里的第三方框架easyexcel 這裡使用pom依賴 這裡我排除了專案已有的依賴 com.alibabagroupid easyexcelartifactid 2.2.5version cglibgroupid cglibartifactid exclusion org.slf4...
前端處理後端返回的高精度的長整型。
有一次在專案裡碰到雪花演算法生成id,然後返回到前端。雪花演算法會生成乙個64位的二進位制資料,為乙個long型。轉換成字串後長度最多19 我們後台返回的是json的字串,在axios內部會自動呼叫 json.parse 方法把json字串轉為js資料,就會出現進度損失。如果不進行轉換,依然當做字串...