大家做文件上传时,如果遇到用户上传的文件重名时怎么解决?

suixin77 2004-12-27 04:25:29
比如用户上传两个同名的图片文件 aaa.jpg ,这个问题怎么解决,不要覆盖原文件;
难道只能改名存吗?
...全文
1420 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongjun_han 2005-01-11
  • 打赏
  • 举报
回复
应该有很多方法 ,随便选一个,加在 文件名后即可。
zhangbo198294 2005-01-11
  • 打赏
  • 举报
回复
借问 怎么改文件名?
freedale 2005-01-11
  • 打赏
  • 举报
回复
当然是改名保存好了,原名最好在数据库中多加个字段来保存,这样对用户使用来说并没什么问题,而且方便你进行管理
新的命名推荐使用 (当前时间+该用户标志) 这样比较方便管理而且大概不会再有重复如果还不行那么就再加上楼上推荐的随机数好了!
林中漫步1982 2005-01-11
  • 打赏
  • 举报
回复 1
将上传文件的文件名稍作修改:新文件绝对路径=存放目录+原文件名+当前时间+2位随机数,

这样文件不会出现重名。实现如下:

//构造新文件的绝对路径:存放目录+原文件名+当前时间+2位随机数
int n=100; //随机数的上限
String fileName = file.getFileName();
String absolutePath = dirc + "\\" + //存放目录
fileName.substring(0, fileName.lastIndexOf(".")) + //不含后缀的原文件名
DateTimeUtil.formatDateTime(new Date(), "yyyyMMddHHmmss") +//当前时间
(new Random().nextInt(n))+//随机数
fileName.substring(fileName.lastIndexOf("."));//原文件名后缀

gaoan 2004-12-27
  • 打赏
  • 举报
回复
上传的时候先保留原文件的名字(在数据库里多加个字段,用来保存你本来的文件名啊。),然后改名(把图片文件名改成时间戳格式)存到服务器上。

这样明白了吗?
suixin77 2004-12-27
  • 打赏
  • 举报
回复
gaoan(忧郁的袋鼠) :不明白你说的是何意
galewithwing 2004-12-27
  • 打赏
  • 举报
回复
用 年月日时分秒毫秒 字符串替换原来文件名
toyysky 2004-12-27
  • 打赏
  • 举报
回复
同意!
gaoan 2004-12-27
  • 打赏
  • 举报
回复
上传的时候先保留原文件的名字(多加个字段,把图片文件名改成时间戳),然后改名存到服务器上。

这样不就避免了?
toyysky 2004-12-27
  • 打赏
  • 举报
回复
该名字 啊,我知道有没有其他的办法,关注中!

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧