java - 使用哈希存储具有唯一文件名的图像

标签 java servlets hash

我正在寻找一种解决方案,用于使用 Java Servlet 为 Web 应用程序存储唯一的文件名。

我需要的是在网页中呈现个人资料图像,因为我决定只在数据库中存储文件名,所以我只需要确保它们在图像文件夹中是唯一的:为了实现这一点,我想命名图像并用这对夫妇组成的字符串名称保存它们:

<user_id>_<hash>.<file-type> 

以这种方式,我想我会非常确定不会发生冲突,因为 user_ids 已经是唯一的。

1) 这个解决方案合理吗?

2) 为此我应该选择什么算法?

我想正确使用它,因此非常感谢代码片段。

谢谢

最佳答案

您可以使用 File#createTempFile()其中指定前缀、后缀和文件夹。生成的文件名保证是唯一的。

File file = File.createTempFile("name-", ".ext", new File("/path/to/uploads"));
// ...

不,这个文件不会在退出时自动删除,它只是临时文件生成机制的一部分。

关于java - 使用哈希存储具有唯一文件名的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8298044/

相关文章:

java - 嵌套循环的第一个 while 循环只迭代一次

java - 同样的计算怎么会产生不同的结果

java - 如何在 for 循环中将值存储在数组中?

java - 两个 servlet 中的 Spring、MVC 和 REST

java - App Engine - 后台线程不工作

java - 是否可以在不消耗流的情况下读取 HttpRequest 参数?

java - 多个servlet转发后如何从servlet/jsp获取原始请求url

python - 在Python中解压ripemd160结果

ruby - 转储类似 YAML 的哈希键名

mysql - 在mysql中使用salt和sha512whirlpool验证密码