MongoDB

http://api.mongodb.com/

http://www.runoob.com/mongodb/mongodb-java.html

如何在mongodb数据库中读取文件并且显示出来,像图片文件和音频文件。

界面代码

[csharp] view plain copy

<img src="@ViewData["html"]" />  

作为测试代码,我就在界面上面写了一个image框,用来显示从MongoDB数据库中读取出来的图片。

HomeController代码

[csharp] view plain copy

public ActionResult Index()  
       {  
           ViewData["html"] = "/MongodbHelp/ProcessRequest?actions=DOWNLOAD&value=lf.png";  
           return View();  
       }  

后面的代码组成相信凡是接触过MVC的读者都能看懂这个东西,后面我就直接写死了一个图片的名称。

MongodbHelpController

连接数据库的方法

[csharp] view plain copy

private static MongoDatabase DB;  
public static string fileTable = "fs";//数据库中的表名称  

//Sets up the environment.  
public void Init()  
{  

[csharp] view plain copy

 //我们可以在配置文件中读取  
string ConnectionString = "127.0.0.1";  //ConfigurationManager.AppSettings["mondoDbConnection"];  

if (String.IsNullOrEmpty(ConnectionString))  
{  
    throw new ArgumentNullException("Connection string not found.");  
}  

MongoServerSettings mongoSetting = new MongoServerSettings();  
mongoSetting.MaxConnectionPoolSize = 15000;//设定最大连接池  
mongoSetting.WaitQueueSize = 500;//设定等待队列数  
mongoSetting.Server = new MongoServerAddress(ConnectionString, 27017);  
int count = MongoServer.MaxServerCount;  
MongoServer server = MongoServer.Create(mongoSetting);//创建连接数据文件  

DB = server.GetDatabase("local");//创建数据库连接  



用来判断我们进行的方法是哪一个,上传文件还是下载文件,在这只给大家介绍下载的方法;

[csharp] view plain copy

public void ProcessRequest()  
      {  

          Init();//initialize the mongo  
          string action = Request.QueryString["actions"];  


          switch (action)  
          {  
              case "LIST": GetFileList(); break; //获取文件列表  
              case "UPLOAD": Upload(); break; //上传文件  
              case "DELETE": Delete(); break;//删除文件  
              case "DOWNLOAD": DownFile(); break; //下载文件  
          }  
      }  


下载文件的类

[csharp] view plain copy

//下载文件  
       public void DownFile()  
       {  
           string filename = Request.QueryString["value"];  
           Response.ContentType = "application/octet-stream";  
           //context.Response.ContentType = "audio/mpeg";  

           Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);  

           MongoGridFSSettings fsSetting = new MongoGridFSSettings() { Root = fileTable };  
           MongoGridFS fs = new MongoGridFS(DB, fsSetting);  
           MongoGridFSFileInfo gfInfo = new MongoGridFSFileInfo(fs, filename);  

           //方法一,很简洁  
           fs.Download(Response.OutputStream, filename);  



           Response.End();  
       }  

通过这几段代码,我们就轻松的完成MongoDB数据的文件读取操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值