js通过 URL下载文件

发布于 2022-09-04 04:42:34 字数 458 浏览 10 评论 0

页面上一个button,点击之后触发一个function去请求数据,返回 pdf/epub 的URL,然后下载这个文件.

本来是直接用 a 写的,href里放资源地址,target设为'_blank'效果良好.但这样所有的资源都会直接暴露而且不方便统计,所以就换用上面的方式.

  1. js构造a标签,js触发click.不加_blank是可以的,但会替换掉原来整个页面.加了_blank chrome就拦截,Safari无效果.

  2. 用iframe,src填入资源地址. 但这样Safari无效果. 且,如果是MP4/pdf这样的文件浏览器并没有下载而是直接打开.

  3. window.open 被拦截

最想要的效果是点击下载按钮,原页面无改动无刷新,直接下载资源.移动版在新页面下载,触发下载自动关闭新页面.

请问上面方法要怎么改才能满足需求呢?谢谢啦

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

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

发布评论

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

评论(2

爱冒险 2022-09-11 04:42:34

谢邀。你自己基本都把方法与思路想好了,这个涉及到浏览器或者系统的安全限制等原因,模拟点击等都不能实现。所以建议还是直接使用你提到的第一种方式,但你说不方便统计是指什么?统计下载或者做权限下载你可以使用动态链接

↙温凉少女 2022-09-11 04:42:34
<a href="url 302到下载地址" download>下载</a>
  1. url里统计,然后重定向的下载链接

  2. 添加 download 属性,这个属性可以指定下载文件名。

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