ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

c#通过操作mongodb gridfs实现文件的数据库存储

2019-12-11 16:51:29  阅读:234  来源: 互联网

标签:string repository c# mongodb fileName GetGridFS gridfs MongoGridFSSettings publi


 1 using MongoDB.Driver;
 2 using MongoDB.Driver.GridFS;
 3 using System.IO;
 4 
 5 namespace Wisdombud.Mongo
 6 {
 7     /// <summary>
 8     /// 
 9     /// </summary>
10     public class MongoFileBll
11     {
12         private MongoDatabase repository;
13         /// <summary>
14         /// 
15         /// </summary>
16         /// <returns></returns>
17         public MongoCursor<MongoGridFSFileInfo> FindAll()
18         {
19             return this.repository.GetGridFS(MongoGridFSSettings.Defaults).FindAll();
20         }
21         /// <summary>
22         /// 
23         /// </summary>
24         /// <param name="pConnectionstring"></param>
25         public MongoFileBll(string pConnectionstring)
26         {
27             MongoUrl mongourl = MongoUrl.Create(pConnectionstring);
28             var client = new MongoClient(mongourl);
29             MongoServer server = client.GetServer();
30             this.repository = server.GetDatabase(mongourl.DatabaseName);
31         }
32         /// <summary>
33         /// 
34         /// </summary>
35         /// <param name="filePath"></param>
36         public void UploadFile(string filePath)
37         {
38             FileInfo fi = new FileInfo(filePath);
39             this.repository.GetGridFS(MongoGridFSSettings.Defaults).Upload(filePath, fi.Name);
40         }
41         /// <summary>
42         /// 
43         /// </summary>
44         /// <param name="filePath"></param>
45         /// <param name="fileName"></param>
46 
47         public void UploadFile(string filePath, string fileName)
48         {
49             this.repository.GetGridFS(MongoGridFSSettings.Defaults).Upload(filePath, fileName);
50         }
51 
52         /// <summary>
53         /// 
54         /// </summary>
55         /// <param name="fileName"></param>
56         /// <param name="filePath"></param>
57         public void DownloadFile(string fileName)
58         {
59             this.repository.GetGridFS(MongoGridFSSettings.Defaults).Download(fileName);
60         }
61         /// <summary>
62         /// 
63         /// </summary>
64         /// <param name="fileName"></param>
65         public void DeleteFile(string fileName)
66         {
67             this.repository.GetGridFS(MongoGridFSSettings.Defaults).Delete(fileName);
68         }
69         /// <summary>
70         /// 
71         /// </summary>
72         public void DeleteAll()
73         {
74             foreach (var inst in this.repository.GetGridFS(MongoGridFSSettings.Defaults).FindAll())
75             {
76                 inst.Delete();
77             }
78         }
79     }
80 }

使用方法

 1 MongoFileBll tl = new MongoFileBll("mongodb://127.0.0.1:27017/chzhaotest");
 2 string folder = @"D:\Wisdombud\2016\20160324_Wisdombud.Mongo\SourceCode\Wisdombud.Mongo.Sample\bin\Debug";
 3 DirectoryInfo di = new DirectoryInfo(folder);
 4 foreach (var file in di.GetFiles())
 5 {
 6     tl.UploadFile(file.FullName, Guid.NewGuid().ToString());
 7 }
 8 var aaa = tl.FindAll();
 9 foreach (var inst in aaa)
10 {
11     Console.WriteLine(inst.Name);
12 }

 

标签:string,repository,c#,mongodb,fileName,GetGridFS,gridfs,MongoGridFSSettings,publi
来源: https://www.cnblogs.com/webenh/p/12023503.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有