想要在前端实现点击一个“下载”按钮实现下载服务器上文件的功能。
首先我们要分情况讨论
1.根据url链接下载资源
点击url下载资源原理很简单,就是利用a标签的href和download属性,或者form表单的action发送一个请求,实现下载。
(1)url是外部链接
外部链接由于浏览器的同源策略,安全隐患等问题,对于外部链接,能直接打开的就会直接打开文件,如图片文件,pdf文件,
不执行下载,但是对于打不开的文件如.doc和.zip文件,可以直接下载
(2)url是内部链接
2.后端返回二进制文件流,前端接收
后端直接将url转为字节流,管他时外部链接还是内部链接,只要是可访问的url,都可以下载,然后返回到前端