假设我有一个带有前端和后端的网站。该网站允许用户上传一些从数百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/