我正在寻找一种解决方案,用于使用 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/