spring mvc 获取上传文件的md5值

怎么做?

 

一、获取文件的md5值

见代码:

其实就是获取文件的部分字节码,然后计算md5值。

计算md5值速度是很快的,瓶颈主要在于文件的上传速度。我尝试上传了300MB左右的Anaconda安装文件,总用时差不多20s。

三、具体应用

主要用来解决重复上传图片文件的问题。

一般情况下,在保存图片文件前,应该获取其md5值,与如果图片信息表中的记录进行比对。如果已经存在相同的md5值,证明图片已经上传过了,应当进行相应的处理。

这里有个问题:如果两个用户试图上传同一张图片(比如用户头像,有可能是同一张图片),那么后上传者将无法进行上传(md5值重复)。所以在校验上传权限时,需要同时对上传者的id和图片的md5值进行比对,如果不是同一个用户在重复上传图片,应该放行。

三、总结

上传时一定注意文件md5值的问题。

发表评论

电子邮件地址不会被公开。 必填项已用*标注