文件上传中的常见问题
01-文件上传兼容浏览器问题及解决
Ø 文件上传兼容浏览器问题是什么,如何解决?
问题:服务器在接收有些浏览器提交的文件名是带盘符的,导致我们往服务器写文件的文件名有问题。
解决:通过判断存不存在”\”,如果存在就是上述问题,我们只要做字符串切割就行了。
02-文件上传同一个目录下文件同名的问题及解决
Ø 如何解决上传的文件同名问题?
使用UUID对象随机生成一个字符串,然后使用这个字符串+后缀名最为文件的文件名。
03-文件上传同一个目录下存放文件过多的问题及解决
Ø 如何解决一个目录下存放的文件过多问题?
l 目录分离:将文件存放在不同的目录里面
n 按时间分离 :按年、月、周、天。
n 按用户分离 :按张三、李四。
n 按个数分离 :一个目录下存放3000个文件。
n 按目录分离算法 :按照某种特定算法进行分离。
u 上传一个文件,得到一个唯一的文件名。
u 唯一文件名获取其hashCode值。-----int类型的值(4个字节32位)
u 让hashCode的值 & 0xf;-----得出的这个值作为一级目录。
u 让hashCode右移4位 & 0xf;----得出的这个值作为二级目录。
u 以此类推。
l 分析算法: