【问题标题】:How to store multiple images on server?如何在服务器上存储多个图像?
【发布时间】:2013-12-08 12:13:17
【问题描述】:

假设我们有一个电子商店。我们需要将与产品相关的图像存储在服务器的某个位置。我们已经知道,最好将图像存储在文件系统中并将引用保存在数据库中。

问题是将文件系统中的图像与数据库中的产品互连的最佳方式是什么:

我正在考虑:

  1. 在数据库中保留对为此产品动态创建的唯一文件夹的引用(例如直接在产品表中)

  2. 在 db 中创建新表(类似于 product_and_images),我们将在其中保存有关产品标识和图像标识的信息,并且该表将为所有产品提供服务

感谢您的所有回答,并为我糟糕的英语感到抱歉:)

【问题讨论】:

  • 在我看来,您应该在服务器上有一个“ProductPictures”文件夹,并在您的 DB 上有一个 Product 表,其中包含一个名为“PicRef”的列,其中包含带有文件扩展名的文件名。但你应该命名文件作为 product_id (1.png,2.jpg)
  • 我建议,如果图像不大,无法存储它们的 base64 编码(因此常规 SQL 查询仍然可以显示它们而不会混淆输出),如果它们很大,则将它们保存为文件
  • @Omer Eldan:但我需要为一个产品存储对多个图像的引用。
  • @BigT 哦,我明白了。所以一个表是产品,第二个是 ProductPicture。将图片命名为 ProductPictureID

标签: mysql storing-data


【解决方案1】:

维护单独的表并使用外键引用总是更好

【讨论】:

  • 所以你的意思是选项 2 是更好的方法?
  • 是的,当您使用 RDBMS 时,最好实现标准化。使用外键引用维护也会更容易。
  • 如果有一个单独的表和另一个表来处理两者的关系,包括两者的 id,将外键引用放在另一个表中。这个想法更好吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-09
  • 2011-11-10
  • 1970-01-01
  • 2011-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多