javascript - js通过 URL下载文件

 承志68694849 发布于 2022-11-16 00:28

页面上一个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 被拦截

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

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

2 个回答
  • <a href="url 302到下载地址" download>下载</a>
    
    1. url里统计,然后重定向的下载链接

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

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

    2022-11-16 00:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有