0

我是 web 开发和 Rails 的新手,我正在编写一个应用程序来构建画廊,但我确实看到了 2 种不同的方法,有些方法将文件保存到服务器中的某个文件夹中,并将一些参考保存在数据库(不确定他们是否将 url 保存在文件系统中的文件或只是名称并以某种方式找到它),或者他们将其作为二进制文件直接保存到数据库。

我的问题是:哪种方式更好?,为什么要以一种方式而不是另一种方式来做,或者以哪种方式来做的“规则”是什么?

如果您知道其他一些方法,如果您能在这里写出来,我将不胜感激。

4

1 回答 1

3

好问题。这是将文件直接保存到服务器的原因:

在不久的将来,您可能需要在多台服务器上托管您的网站。如果文件在其中一个上,其他服务器将无法轻松访问它。因此,您需要将图片保存到某个中心位置。

与大多数静态资产一样,存储它们的理想位置是在内容交付网络 (CDN) 上。这意味着您的文件位于云端,您的所有服务器都可以轻松快速地访问它们。因此,您最终会在数据库中存储一个文件名,而您的 HTML 将使用该文件名来查找存储在 CDN 上的正确文件。像 Paperclip 和 Carrierwave 这样的 Gem 可以让你做到这一点,这是处理上传图像的最流行的方式(使用 Rails)。

于 2013-07-01T21:17:03.500 回答