【问题标题】:Why would I store filenames and paths of uploads in a database?为什么要在数据库中存储文件名和上传路径?
【发布时间】:2021-01-02 14:02:01
【问题描述】:

问题很简单,但我找不到答案。

在 Web 应用程序中使用 (mysql) 数据库表进行文件上传有哪些优点和缺点?

现在我想知道是否有必要?如果我想对文件做一些事情,比如在网站上显示图像,我可以只在配置文件(例如 USERNAME/PROJECT/UPLOADS/...)中编写上传路径并扫描文件名和文件类型的上传目录.

似乎每个人都使用“文件”表有什么好处?

【问题讨论】:

  • 没有优点,随着数据库的增长,它需要更多资源,而二进制数据增长得非常快-
  • 我不是在谈论二进制数据,我的意思是只存储文件名、路径和上传或修改的时间/日期
  • 这个问题是“为什么我要将上传的文件名存储在数据库中?”如果是这样,那是因为您对它们有一个关系标识符,您可以使用它们将它们与其他记录相关联,例如 cmets 的附件。
  • 是的,我改变了问题,所以它变得更清楚了
  • “我可以在配置文件中为上传的路径编写代码”——不管对你有用。但是,您通常会在上传的图像中存储其他信息,而不仅仅是文件名:用户、访问权限等。

标签: mysql file-upload


【解决方案1】:

有3种可能

  1. 如果您有 1:n 关系,即 1 张贴多张图片,则需要单独的表格

  2. 一1:!关系,即我只发布 1 张图片,可以保存在单独的表格中,但通常不是,因为您必须加入表格,因此增加了编程工作,没有任何收获..

  3. 一个 n:m 关系,即许多帖子共享相同的图像,那么您需要一个桥表并有 3 个表,即帖子表、桥表、图像表。

因此,根据您所拥有的关系,您在 rdms 中只有一个选择。

【讨论】:

    猜你喜欢
    • 2016-10-03
    • 2016-08-14
    • 2012-07-25
    • 2018-06-19
    • 1970-01-01
    • 2015-07-26
    • 2018-10-05
    • 1970-01-01
    • 2014-09-11
    相关资源
    最近更新 更多