如题,下载功能在pc端测试是完全正常的,内嵌到企业微信里就无效了,进入了then方法,弹出下载成功提示,但是没有其他任何反应,文件也并没有下载到本地,请问如何解决?
$api.getBlob(url).then(res=>{
// res是返回的blob类型数据
let a = document.createElement("a");
a.href = URL.createObjectURL(res);
a.download = this.currentFileData.pfile_Name; // 下载名称
a.click();
$toast.success("下载成功");
})
2024了呀,玛德现在这个坑还在。a,标签以及location.href的方式试了都没用,难道只有接入对应的jssdk,调用wx的预览方法才行得通吗
4年了,这个问题 wx还是没解决
插个眼,希望官方能看到
救命,还不行吗?用sdk还可给我提示{"errMsg":"wx.config:ok","checkResult":{"previewFile":false}}
用户很纯粹的,他们只想要实现click下载按钮就下载文件,无其他繁琐流程和隐藏目的,这操作真的有这么谩吗
不知道是不是正确答案哎 我直接使用 window.location.href ='下载地址完整路径' 可以打开预览图片
问题解决了嘛?我们也不行,同样的代码,PC浏览器,安卓企业微信,安卓浏览器,IOS浏览器都可以,就是IOS企业微信直接就出现unknown,无法下载使用的也是流的方式;
const blobo = new Blob([res.data], { type: 'application/force-download' }) const archor = document.createElement('a'); let url = window.URL.createObjectURL(blobo); archor.setAttribute('href', url) let filename = decodeURIComponent(res.filename.replace(/\+/g, " ")); archor.setAttribute('download', filename) archor.click(); // 释放url window.URL.revokeObjectURL(url);
直接使用a标签,修改href,调用click又没有任何反应
html: <div class="hidden"> <a id="attachment" href="" target="_blank">附件预览</a> </div> js: var aobj: any = document.getElementById("attachment"); aobj.setAttribute('href', res) var href = aobj.getAttribute("href"); aobj.click();
2023-06-12,今天还是不行,太坑了
请问解决了吗?我也遇到了一样的问题
后台接口返回的Blob文件流,用createObjectURL生成内存地址,不能预览和下载,请问怎样解决?