关闭。这个问题是基于意见的。它目前不接受答案。
**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。
上个月关门了。
改进这个问题
我正在考虑一个场景,“文件下载”功能将在网页上实现(独立的前端(angular)和后端(spring))。我不确定,两种可能的方法中哪一种更好(更专业):
1.当用户单击链接时,通过restapi在前端下载文件 <a (click)="downloadFile(filename)">
2.指向终结点的href <a href="https://localhost:8080/uploads/{{filename}}">
我会注意到任何回应:)
1条答案
按热度按时间umuewwlo1#
让我们讨论一下两者的优点和缺点。
直接在前端使用url
优势
很容易实现。
时间上更快。
缺点
上载url中的更改(
https://localhost:8080/uploads
)需要更改前端代码。因此,必须生成一个新的构建。所有用户都可以访问
https://localhost:8080/uploads
直接从浏览器下载不属于他们的文件。这在安全方面是不好的。您很难更改下载的逻辑,例如为文件指定与文件名不同的下载名。
使用api下载文件
优势
您可以从后端控制所有逻辑,并在文件中添加额外数据。
如果文件的位置改变了,前端就不必担心这个问题。它唯一关心的是以url或base64格式获取文件。
您可以严格的上传位置只能由您的后端访问,这是更好的安全性方面。
缺点
有点复杂。
时间上比较慢。
在大多数情况下,从api获取下载信息要好得多,除非你有充分的理由这样做。