微信浏览器下载文件下载不了??

发布于 2022-09-12 03:54:36 字数 989 浏览 14 评论 0

题目描述

一个通过微信查看和下载pdf文件的功能,用的是vue+pdfjs-dist,渲染出 pdf 没有什么问题,下载pdf文件在PC端的chrome浏览器和手机端的chrome浏览器是正常的,但是在微信上打开按下载按钮一点反应都没有,也没有报错。

相关代码

data 是 pdf 转成文件流

download(id, data) {
  if (!data || !id) {
    Toast.failed("无法下载");
    return;
  }
  console.log(data.data);
  let pdf_url = window.URL.createObjectURL(
    new Blob([data.data], { type: "application/pdf" })
  );
  let link = document.createElement("a");
  link.setAttribute("download", id + ".pdf");
  link.setAttribute("target", "_self");
  link.href = pdf_url;
  link.style.display = "none";
  document.body.appendChild(link);
  link.click();
  document.body.removeChild(link);
  window.URL.revokeObjectURL(pdf_url);
}

问题出现的环境背景及自己尝试过哪些方法

我尝试写了个<a>来下载文件,在微信上也是下载不下来的,是不是微信浏览器本身的限制???

相关代码

<a :href="require('@/assets/logo.png')" download="logo.png" target="_self">下载文件</a>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

橘和柠 2022-09-19 03:54:36
    download(name, data) {
      if (!data) {
        return;
      }
      // console.log(data);
      let url = window.URL.createObjectURL(new Blob([data.data]));
      let link = document.createElement("a");
      link.style.display = "none";
      link.href = url;
      link.setAttribute("download", name + ".pdf");
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
      window.URL.revokeObjectURL(url);
    }
不知所踪 2022-09-19 03:54:36

页面能实现下载那是应为浏览器作为一款app拥有手机下载功能的接口权限,用input就能实现下载,app里面打开页面用的都是webview,想要下载必须通过与app交互实现;微信没有提供给h5页面这个接口,还是指引用户去普通浏览器下载吧。

鸠书 2022-09-19 03:54:36

微信限制了,外部链接下载需要写引导页,引导用户打开用浏览器打开

罪#恶を代价 2022-09-19 03:54:36

移动端下载本身就有问题。

需要依赖下载头

为人所爱 2022-09-19 03:54:36

微信限制了.
你没看很多页面都是弹窗引导右上角浏览器打开再下载么

萧瑟寒风 2022-09-19 03:54:36

遇到同样的问题 你怎么解决的??

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文