首页 > 解决方案 > 将文件上传到服务器的正确/正确方法是什么?

问题描述

将文件上传到服务器的正确/正确方法是什么?我只谈论小文件,例如图像、文本文件和 excel/word 文件。

我知道我可以使用 BLOB 将图像上传到数据库。但是其他人呢?

我有一个名为“Ticket”的表,其中包含创建日期、票号、呼叫者、附件等信息。

我在如何将附件上传到服务器时遇到问题。

标签: javamysqldatabase

解决方案


第一个选项应该是将图像上传到文件服务器并将文件 id 或 uuid 存储在您的票证表中,或者 OneToMany 表存储所有附件。

使用 BLOB 将图像二进制存储在数据库中始终无效。数据库具有这种能力并不意味着它是一种使用它的好方法。

如果你在做一个小项目,你可能看不到问题。如果并发比较高,

想象一下,您将文件存储在数据库中,甚至所有文件都只是图像,每当您检索票证时,内存中都会有几 MB 的图像。这是对服务器内存的浪费。

如果您使用一些 ORM 来检索列表,这将是最糟糕的,并且您的服务器很容易 OutOfMemory。

还有一件事是,如果您的系统前面有 Web 应用程序防火墙,也建议将文件上传与普通表单提交分开。


推荐阅读