【发布时间】:2013-12-08 12:13:17
【问题描述】:
假设我们有一个电子商店。我们需要将与产品相关的图像存储在服务器的某个位置。我们已经知道,最好将图像存储在文件系统中并将引用保存在数据库中。
问题是将文件系统中的图像与数据库中的产品互连的最佳方式是什么:
我正在考虑:
在数据库中保留对为此产品动态创建的唯一文件夹的引用(例如直接在产品表中)
在 db 中创建新表(类似于 product_and_images),我们将在其中保存有关产品标识和图像标识的信息,并且该表将为所有产品提供服务
感谢您的所有回答,并为我糟糕的英语感到抱歉:)
【问题讨论】:
-
在我看来,您应该在服务器上有一个“ProductPictures”文件夹,并在您的 DB 上有一个 Product 表,其中包含一个名为“PicRef”的列,其中包含带有文件扩展名的文件名。但你应该命名文件作为 product_id (1.png,2.jpg)
-
我建议,如果图像不大,无法存储它们的 base64 编码(因此常规 SQL 查询仍然可以显示它们而不会混淆输出),如果它们很大,则将它们保存为文件
-
@Omer Eldan:但我需要为一个产品存储对多个图像的引用。
-
@BigT 哦,我明白了。所以一个表是产品,第二个是 ProductPicture。将图片命名为 ProductPictureID
标签: mysql storing-data