文件上传中的常见问题




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  分析算法:

文件上传中的常见问题