关于文件下载,两个同名文件打压缩问题

本文档介绍了在文件上传时遇到的文件名重复导致压缩下载失败的问题,以及解决方案。通过在文件名中添加时间戳来避免重名,确保下载时能成功创建唯一的压缩文件。具体实现步骤包括获取文件信息,去除文件后缀,添加时间戳,并利用StringBuilder进行字符串拼接,以创建带有时间戳的新文件名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.问题原因

测试文件下载时,我把同一个文件夹下的一个文件分别上传了两次到文件服务器,打压缩不能打两个文件名相同的文件,所以下载打压缩失败了。

2.解决问题

将上传的文件名加上时间戳,或者下载时给文件加上时间戳,我是使用的下载时给文件加上时间戳的思路

//文件
FileInfoVo fileInfoVo = fileInfoMetas.get(0);
//取出文件名(因为这里的文件名是有png、pdf后缀的,所以需要先去除)
String fileName = fileInfoVo.getFileName();
//去掉后缀(如.png)
String fileNameSub=fileName.substring(0,fileName.lastIndexOf("."));
//时间戳
String s = StringUtil.toString(System.currentTimeMillis());
//文件类型
String fileType = fileInfoVo.getFileType();
//给文件名添加时间戳(这里使用StringBuilder没有使用“+”的原因:1、这个操作是在循环里 2、是3个以上的字符串拼接,为了避免创建多的对象)
fileName=new StringBuilder().append(fileNameSub).append(System.currentTimeMillis()).append(".").append(fileType).toString();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值