阿里云oss存储,怎么判断已经有MD5相同的文件,不再上传
阿里云oss存储,怎么判断已经有MD5相同的文件,不再上传
14 回复
@fuxingZhang 大牛您好 弱弱到问一句 因为要用hash命名 所以在上传这个文件之前 是否需要先获取 上传文件的MD5值 七牛是可以把key 留空的 如为空 七牛就自动为hash命名啦
@wlijie 1、可以使用node自带的crypto模块计算md5,然后指定上传的key为md5上传。 2、七牛的话,你就可以直接上传了,不用计算 3、(秒传功能:通过key获取文件信息,如果存在,就直接提示上传成功,不存在的话再上传文件)
如果你是用 node / java, 在 服务器层计算文件 (如 md5), 然后加上后缀成为key就可以了 (node 下用 crypto). foo.ext -> some_role_prefix_${md5}.ext
如果是 sts 模式下前端浏览器也可以用类似方法 (FileReader), 本身 oss 前端 sdk 好像没提供. 但浏览器计算性能嘛...跑几分钟还不如 Linux 两三秒的计算(不讨论这些)
上传的时候 list 一下是否存在对应文件路径. 然后判断是否存在文件, 存在即无需上传