javascript - 上传到后台有效吗?

标签 javascript file-upload web backend

假设我有一个带有前端和后端的网站。该网站允许用户上传一些从数百MB到GB的数据。如何有效上传这些数据?

  • 最简单的方法是将其从客户端/浏览器上传到前端服务器。然后通过API或者其他方式将其发送到连接了数据存储的后端服务器,我们将在其中保存数据。然而,这会运行得很慢,因为上传的大小会是原来的两倍。
  • 我想到的另一种方法是将数据直接从浏览器内运行的 JavaScript 发送到后端的 API。当我不希望后端/后端的 API 可供公众访问时,这可能是不合适的。这对架构也不好(如果你有 fe 和 be,你可能不想与客户端进行通信)。

那么,你有什么想法吗?或者是否有某种通用方法可以有效地做到这一点?它包括 CDN 吗?或者,如果预文件只有几百 MB,我应该将数据作为 base64 字符串存储在数据库中吗?谢谢。

编辑:我只是想为此使用 Amazon S3。这提出了类似的问题,上传到 S3 将在哪里发生。在浏览器中(并且对 S3 对象的引用将发送到 FE 和 BE)或在 FE 中(并且引用将保存在 BE DB 中)还是在 BE 中?其中哪一个以及为什么?

最佳答案

从您的问题中我了解到您允许用户上传从 MB 到 GB 的文件。在这种情况下,您需要将文件保存在特定文件夹中,并将对该文件夹的引用保存在后端数据库中。这将是存储大数据的有效方式。如果您将数据保存在后端,那么它会不必要地使您的后端重载。

关于javascript - 上传到后台有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19969568/

相关文章:

javascript - 将内容从 div 复制到 HTML 中的文本区域

javascript - jQuery remove() 检索

HTML5 拖放文件上传到 Java Servlet

php - 测试 Laravel 5.2 时不要移动原始文件

node.js - Node.js 中的文件上传只是无限期地上传?

android - 当我将在线文本放入 TextView 时应用程序崩溃

javascript - 为什么当我在 Apache 上运行我的 react 构建时......只出现空白页面..?

javascript - 无法从父级调用 iframe 函数(firefox 插件)

java - 如何使用java模拟登录

node.js - 如何检查用户是否有数据库查询权限?