我需要在我的页面上允许csv文件下载,我将尝试使用ngCsv(来自Angular)但是对于浏览器支持,这似乎相当有限。我已经看过很多关于使用vanilla Javascript完成此操作的示例。在与一位同事讨论" backend vs. frontend"我越来越不确定该怎么做。
为什么我应该避免在客户端执行此操作(假设每个下载文件不超过100MB
),是否存在任何真正的优化/效率原因?
答案 0 :(得分:1)
是否有任何真正的优化/效率原因我应该避免 在客户端执行此操作(假设文件不超过 每次下载100MB)?
如果.csv
上的数据对于每个用户都是相同的,并且只是偶尔更新,我建议您让服务器创建/更新静态.csv
。它不会占用大量资源,您也不必担心浏览器兼容性/用户资源。
但是,如果创建.csv
for所需的数据在每个用户的基础上有所不同,那么您应该考虑创建文件客户端。如果您可以提供帮助,则每次用户单击链接时,您不希望服务器必须动态生成100MB .csv
个文件。
如果浏览器不是移动设备并且有Web工作者支持,您可以编写仅生成.csv
客户端的脚本。如果不满足其中任何一个条件,您可以回到让服务器执行此操作。
最终,您的答案将真正取决于该项目的要求/背景。尝试尽可能缓存结果,并使用常识。祝你好运:)