分享文件重名的问题
文件分享重名问题
最近在做一个项目,关于文件分享的。现在有一个分享池,可以把用户的分享数据存在里面,假如有多个数据,那么在分享的时候如何避免因为文件重命名而发生的覆盖问题?
我想了几个方向:
- 用户名+时间的目录方式
这样就能避免因为文件名冲突的问题了。因为用户ID和时间不可能一样就保证地址唯一性。 - 为每个文件建立一个filelist[]数组
filelist[]{
filename
ctime
fileid
deadline
MD5
}
通过数组查询 - 弹窗强制用户输入文件名或者也取用2中filename属性,但是提供重命名功能。
不知道哪个靠谱啊,还有大公司的云盘是怎么解决这个问题的啊。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用文件的md5作为文件名
目前主流的方案都是通过文件MD5的,有时候你上传一个非常大的文件的时候,比如1GB的,都能实现秒上传,其实都是通过MD5来判断文件是否存在云盘里面,如果已经有一份了,只要云盘数据库那边写条记录就好了,压根就不用重新上传文件。。。
使用文件MD5+记录每个用户上传的实际文件名(即MD5文件名)+ 用户命名的文件名为属性
将以上数据都存储下来。变可以随意修改文件名,这个时候的文件名只是对应文件的一个属性。