database - 在数据库中保存图像路径问题

标签 database database-design web-applications

当用户上传图像时,我将该图像调整为 3 种不同的尺寸。我无法决定什么是更好的选择:

1) 将图像路径保存在数据库的一列中,例如:User9876/ImageName 并将扩展名保存在另一列中。当我从数据库获取用户配置文件数据时,我的业务对象具有不同图像大小的三个属性。在代码中,我通过向数据库中的图像路径添加扩展名来填充此属性,例如:

User9876/ImageName_Original.jpg
User9876/ImageName_Small.jpg
User9876/ImageName_Smallest.jpg

2) 或者每个尺寸在数据库中都有三列更好?

最佳答案

一些建议:

  1. 不要单独存储扩展程序,除非您计划查询特定扩展程序。只是增加了更多的复杂性而没有任何实际 yield 。

  2. 我会将图像大小代码作为 ID 存储在图像表中。这样您就可以更新/编辑图像代码,而无需在整个表上运行更新语句。

    创建表格图像( id int(11) 无符号非空自动增量, 路径 varchar(255) 不为空, size_code_idsmallint(3) 不为空, 主键(id) )Engine=MyISAM 默认字符集=utf8;

示例行:

1 | user9876/imagename_og.jpg | 1
2 | user9876/imagename_me.jpg | 2
3 | user9876/imagename_sm.jpg | 3

这种设计将允许您查询“小”图像,而无需解析文件名,但您仍然可以将小图像与文件系统上的中图像和原始图像区分开来。

关于database - 在数据库中保存图像路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8626960/

相关文章:

jquery - 动态生成表单

php - Mysql 查询使用 LEFT JOIN 并具有来自另一个表的 OrderID 计数...卡住

mysql - 使用命令行复制 mysql 数据库

mysql - 如何在更新后立即获取时间戳值?

Mysql从varchar列复制到decimal列

sql-server - 设计评论表

eclipse - 为什么我在访问独立的 tomcat 实例中的 .properties 文件时遇到问题,但在 eclipse 嵌入式实例中却没有?

java - 如何在 Redis 中对复杂对象进行建模

文件和数据结构中的 Java 处理行

java - Servlet文件上传