文件上传到本地时不对文件进行重命名,这种做法有什么优缺点?

最近参与一个项目,其中有个文件上传的功能,看到的做法是按当前年月日创建文件夹,然后将文件存到对应文件夹中,如果文件重名则在后面+下划线+序号,请问这个做法在安全性或者其他有什么优缺点?

阅读 3.7k
3 个回答

感觉上和乐观锁差不多,但是用文件名当了版本号,本身就不好实现;
另外,上传的话总要下载或者怎么查看吧?需要在某个位置上记录文件名,那为什么不直接随机生成一个文件名呢

这种做法没啥问题,只要能保证文件名不重复就可以了,如果是多线程存储的话,写入文件记得加锁就不会有啥问题。

优点:

  1. 便于人为查找。想看某些资源,只要按文件夹查找即可。

缺点:

  1. 存在被人盗取下载文件的可能性。只要看到你们的命名,就能根据命名规律找出非本人的文件进行下载。

另外,不确定你们是怎么把文件和用户对应起来的,但是按照这种方式,猜测应该是将文件的路径存储下来,和用户关联?如果可能的话,可以对文件进行 MD5 加密,用生成的 key 作为文件的 id,这样是不是会更好一点?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题