我想为用户创建一个图片上传来上传个人资料图片并能够调整它的大小。但是,我想知道我应该如何做数据库表。我想我应该有一个用于用户 ID 和图像名称的字段,但是显然会有冲突,这让我想到了哈希表,这似乎有点矫枉过正,所以我想我会在这里问,希望有更多知识的人可以给我一些想法。
我正在使用 Zend Framework,供您参考。
我想为用户创建一个图片上传来上传个人资料图片并能够调整它的大小。但是,我想知道我应该如何做数据库表。我想我应该有一个用于用户 ID 和图像名称的字段,但是显然会有冲突,这让我想到了哈希表,这似乎有点矫枉过正,所以我想我会在这里问,希望有更多知识的人可以给我一些想法。
我正在使用 Zend Framework,供您参考。
这可能不是您问题的确切答案。但是,它可以是一个建议。
如果要将图像或文件保留在数据库中,则必须维护很多东西。有很多讨论,您可以通过“数据库或文件夹中的图像”在 google 中搜索
我建议您将图像保存在文件夹中而不是数据库中。因此,在您的数据库中,您只需将图像的“路径”保留为一列。
换句话说,您的 USERS 表可以有一个列:
profile_image_path varchar2(200)
而不是将整个图像保留为
profile_image blob
此解决方案的优点是:
此解决方案的缺点是:
您可以在 google 中阅读更多详细信息。
一种简单的方法是在用户第一次上传图像时创建一个子文件夹(文件夹的名称也可以是用户 ID)。然后您可以将用户图像存储在他自己的子文件夹中。这样,您将避免很多碰撞问题。使用此解决方案,您可以拥有一个非常简单的表格,例如:
IMAGE (UserId, ImageName, IsMain)
ImageName 可以或不可以(按照您最喜欢的方式)包含子文件夹名称(因为它与 UserId 相同)。