Mongodb存储读取Word文档
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Mongodb存储读取Word文档,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2525字,纯文字阅读大概需要4分钟。
内容图文
![Mongodb存储读取Word文档](/upload/InfoBanner/zyjiaocheng/562/28f77689e4584befb9fa0287af169339.jpg)
在为人事系统做操作日志功能时,为了保证已经打印的信函可以还原,需要在每次打印信函时记录Word信函的内容。 SQL Server只能记录信函的文字内容,那信函的页面布局、字体式等其他内容如何存储呢?此时Mongodb闪亮登场,由于MongoDB的文档结构为BJSON式(BJS
在为人事系统做操作日志功能时,为了保证已经打印的信函可以还原,需要在每次打印信函时记录Word信函的内容。
SQL Server只能记录信函的文字内容,那信函的页面布局、字体格式等其他内容如何存储呢?此时Mongodb闪亮登场,由于MongoDB的文档结构为BJSON格式(BJSON全称:Binary JSON),而BJSON格式本身就支持保存二进制格式的数据,因此可以把文件的二进制格式的数据直接保存到MongoDB的文档结构中。取的时候再以二进制格式取,这样文档就能实现无损保存。
下面是我已经验证成功,存储Word到Mongo,然后从Mongo读取Word的代码,在此和大家分享分享。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using MongoDB.Bson; using MongoDB.Driver; namespace Mongodb { public partial class Form1 : Form { public Form1() { InitializeComponent(); Init(); } //数据库连接字符串 const string strconn = "mongodb://127.0.0.1:27017"; //数据库名称 const string dbName = "test"; MongoServer server; MongoDatabase db; void Init() { //创建数据库链接 server = MongoDB.Driver.MongoServer.Create(strconn); //获得数据库 db = server.GetDatabase(dbName); } private void btnSave_Click(object sender, EventArgs e) { SaveDocToMongo(@"d:\quwenzhe.docx"); } private void btnShow_Click(object sender, EventArgs e) { GetDocFromMongo(@"E:\newquwenzhe.doc"); } ///执行完存储操作后,大家可以在MongoVUE中查看存储的二进制数据,如下图所示:/// 保存Word到Mongo /// /// 需要保存的文件名 private void SaveDocToMongo(string filename) { byte[] byteDoc = File.ReadAllBytes(filename); BsonDocument doc = new BsonDocument(); doc["id"] = "1"; doc["content"] = byteDoc; MongoCollection col = db.GetCollection("doc"); col.Save(doc); } ////// 将Mongo中的Word保存到本地 /// /// 保存到本地的文件名 private void GetDocFromMongo(string filename) { MongoCollection col = db.GetCollection("doc"); var query = new QueryDocument { { "id", "1" } }; var result = col.FindAs(query); byte[] buff = (byte[])((BsonDocument)result.ToList()[0]).GetValue("content"); FileStream fs; FileInfo fi = new FileInfo(filename); fs = fi.OpenWrite(); fs.Write(buff, 0, buff.Length); fs.Close(); } } }
![Mongodb存储读取Word文档 - 文章图片](/upload/getfiles/0001/2021/4/26/20210426020844159.jpg)
好了,时间不早了,我得小憩一下,准备下午的软考,谢谢大家观看。
内容总结
以上是互联网集市为您收集整理的Mongodb存储读取Word文档全部内容,希望文章能够帮你解决Mongodb存储读取Word文档所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。