Django-不考虑文件扩展名的唯一上载文件名

Django-不考虑文件扩展名的唯一上载文件名,django,python-3.x,uuid,django-file-upload,Django,Python 3.x,Uuid,Django File Upload,我想为每个上传的文件创建唯一的文件名(类似于),但不考虑扩展名(即name.txt和name.dxf是冲突) 我正在将服务器上的文件(即ogg、wav等)转换为特定的文件类型扩展名,即mp3,然后删除原始文件 这个问题是,如果有人上传一个扩展名不同但基本名称相同的文件,那么转换将覆盖原始文件 我显然可以检查目标文件是否已经存在。我知道Django还将生成某种唯一标识符(附加到上传的文件名中),例如“_HVk3AIt”,如果与确切的文件名匹配存在冲突。这是UUID吗 我最初认为添加一个随机生成的U

我想为每个上传的文件创建唯一的文件名(类似于),但不考虑扩展名(即name.txt和name.dxf是冲突)

我正在将服务器上的文件(即ogg、wav等)转换为特定的文件类型扩展名,即mp3,然后删除原始文件

这个问题是,如果有人上传一个扩展名不同但基本名称相同的文件,那么转换将覆盖原始文件

我显然可以检查目标文件是否已经存在。我知道Django还将生成某种唯一标识符(附加到上传的文件名中),例如“_HVk3AIt”,如果与确切的文件名匹配存在冲突。这是UUID吗

我最初认为添加一个随机生成的UUID将是一个糟糕的解决方案,因为即使2^128类似于4*10^38(冲突的可能性很小),您最终也可以在技术上覆盖某些内容,但我猜您只需继续检查新建议的文件名,并在发生第二次冲突时添加辅助UUID等

这是一个很好的解决方案,还是这类问题的标准做法