在前端和后端处理文件

时间:2015-08-04 13:47:14

标签: javascript web-services frontend crud

我正在开发一个web应用程序,其中angularjs作为前端,后端是CRUD服务。其中一个要求是允许用户上载包含要创建的项目列表的csv文件。这可以通过在javascript中解析文件并为每个项目对服务器进行create API调用来在前端实现。但是,我不确定这种方法是否比将文件传递到服务器并在那里进行所有处理更好。这两种方法的优点/缺点是什么?这种情况下的常见做法是什么?

3 个答案:

答案 0 :(得分:2)

我会用3件事来做出这个决定:

  1. 你的负荷很高吗?如果在客户端上解析它,则使用客户端CPU。在服务器上解析它可能会因为需要更多的CPU而花费你的成本。

  2. 访问开发人才,您的团队可以在客户端或服务器端对其进行更高效的编程。

  3. 如果上述答案没有给出明确的答案,那么我会把它放在服务器端,因为它更容易测试。

答案 1 :(得分:0)

既然我已经实现了这个场景,就忍不住回应了。我相信会考虑以下事项(除上述要点外):

  1. 文件的大小,(巨大的文件会冻结 UI,不用理会)它甚至可能使一些不太现代的浏览器崩溃。
  2. 文件是否需要解析/清理内容?(您不希望垃圾进入您的服务器)
  3. 上传后用户是否需要负载摘要详细信息的反馈?(Aync 与 Sync)- 这与 #1 相关

无论如何,您最终会在后端使用批量复制的一些变体。

答案 2 :(得分:0)

好吧,我认为最好在后端解析文件。你有很多选择,比如

  1. 保存文件以供参考
  2. 减少用户资源的负载(RAM 和 CPU,具体取决于文件的大小以及在推送到后端之前对文件执行的操作)
  3. 如果在批处理过程中出现错误,可以重新启动文件上的活动(如果错误是代码,您可以重现并帮助客户,因为您有文件?)

除非文件总是说一些 <1mb csv 或 txt 只是做后端 我希望这会有所帮助?。