如何为图像指定唯一的名称?
我正在编写一个网络应用程序,用户可以在其中上传图像。我想知道为图像分配唯一名称的最佳实践是什么?我认为 MD5 足够有用,但由于每个图像都有一个所有者,我是否必须使用 MD5 ?我的意思是用 Userid + imagename + Creationdate 重命名就足够了?
I'm writing a web application where users can upload images. I wonder what's the best practice of assigning unique names to images ? I thought MD5 can ben useful and enough, but since each image has an owner, do I have to use MD5 ? I mean it could be enough to rename with Userid + imagename + creationdate ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的数据库为您的每条记录提供了唯一的ID。尽管有许多不同的方法可以实现您想要的目的,但通常最好使用此 ID 作为图像名称的前缀/后缀。因此,对于这些记录:
您可以显示类似以下内容:
15_image.png
、23_image.png
Your database gives you a unique ID for each record. Though there are many different ways to do what you want, it is usually best to use this ID as a prefix/suffix to the name of the image. So, for these records:
you could display something like:
15_image.png
,23_image.png
不,这还不够,因为用户可能想要上传多个具有相同名称的图像。
最简单的解决方案是使用带有图像名称的序列号。您可以确定,没有其他图像具有相同的名称,而且永远不会有。使用哈希函数时,总是存在很小的冲突机会。
No, it would not be enough as the user might want to upload several images with the same name.
The easiest solution is to use a sequence number with the image name. You can be certain that there is no other image with the same name and there will never be one. With a hash function there is always an ever so slight chance of collision.