文件上传时要考虑的几个问题

1、获取文件名称包含文件路径问题

1、操作:获取表单里面的文件名称

String filename = fileitem.getName();

2、可能出现的问题:
filename=“1.jpg”
或者
filename=“F:\图片素材\小清新\1.jpg”

3、解决办法

方法1、filename.substring(filename.lastIndexOf(File.separator)+1);
方法2、filename = FilenameUtils.getName(filename);

2、保证服务器的安全

把保存上传文件的目录放在用户直接访问不到的地方。
在这里插入图片描述

3、避免文件被覆盖

让文件名唯一即可
在这里插入图片描述

4、避免同一个文件夹中的文件过多

方案一:按照日期进行打散存储目录

//目录打散
String childDirectory = makeChildDirectory(storeDirectory);
//在storeDirectory下,创建完整目录下的文件
File file = new File(storeDirectory,childDirectory + file.sepatator + file.separator+filename);

在这里插入图片描述
方案二:用文件名的hashCode计算打散的存储目录:二级目录
在这里插入图片描述

发布了55 篇原创文章 · 获赞 4 · 访问量 3126

猜你喜欢

转载自blog.csdn.net/qq_41347385/article/details/104021601
今日推荐