目前有一个需求,web网页改h5页面嵌套到其他手机app页面中,在pc浏览器调试时,可以下载文件,但是打包集成到app里时点击下载按钮却没有反应,无法调试也不知道出了啥问题。下面是代码,用的是vue2,是在后台管理系统项目里写的,那边app是用iframe来显示我网页的,有没有兄弟有经验的来说说!
this.$http({
url: this.$http.adornUrl(
`/robot/acceptFailedStatistic/downloadStatistic`
),
method: "get",
responseType: "arraybuffer",
params: this.$http.adornParams({
staffId: this.staffId,
bussinessType: this.bussinessType,
downloadExeclType: 2,
time,
}),
}).then((res) => {
let headers = res.headers;
let blob = new Blob([res.data], { type: headers["content-type"] });
let link = document.createElement("a");
link.href = window.URL.createObjectURL(blob);
const fileName = decodeURI(headers["content-disposition"]);
if (fileName.includes("filename=")) {
let title = fileName.split("=")[1];
link.download = title;
link.click();
this.downloadShow = false;
this.shows = false;
} else {
this.$message.error("下载出错");
}
});