背景
假设使用MongoDB的GridFS做分布式文件系统,同样的文件在文件系统中只存一份,那么在存入文件时就需要判断文件是否已经存在,在GridFS中每个文件都有唯一的md5哈希值,只需要用文件的md5值判断是否在GridFS中已经存在就可以了,所谓的秒传功能就是用的该原理。
技术栈
C#、VS2013、MongoDB、GridFS
实现
1 . 首先根据文件流得到md5值,代码如下:
| 代码如下 | 复制代码 |
|
//计算文件的MD5码 try return result; | |
2 . 根据md5值在GridFS中进行唯一性校验,方法如下:
| 代码如下 | 复制代码 |
| public string IsExist(string tag) { string id = ""; var files = _gridFs.Find(Query.EQ("md5", BsonValue.Create(tag))); if(files.Count() > 0) { id=files.FirstOrDefault().Id.ToString(); } return id; } | |
3 . GridFS操作类的完整代码参考
ios哔咔网页版直达入口-哔咔漫画iOS网页版一键进入
MyFreeMP3在线音乐官网-MyFreeMP3网页版官方入口
超星学习通网页版登录入口-超星学习通官网登录网址
超星学习通官网快捷登录入口 学习通网页版官方一键直达方法
韩剧再婚皇后全集百度云网盘资源链接分享-韩剧再婚皇后1080p蓝光百度云网盘资源下载
韩剧再婚皇后阿里云盘全集高清1080P资源链接-韩剧再婚皇后免费阿里云盘资源下载4K高清无删减版链接