
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
	<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head><card id="MainCard" title="&#x6B22;&#x8FCE;&#x5149;&#x4E34;"><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a><br/>&nbsp;</p><p><b>&#x6807;&#x9898;&#x3A;</b> &#x43;&#x23;&#x4FDD;&#x5B58;&#x6587;&#x4EF6;&#x5230;&#x4D;&#x6F;&#x6E;&#x67;&#x6F;&#x44;&#x42;&#x793A;&#x4F8B;</p><p><b>&#x4F5C;&#x8005;&#x3A;</b> &#x64;&#x6E;&#x61;&#x77;&#x6F;</p><p><b>&#x65E5;&#x671F;&#x3A;</b> &#x32;&#x30;&#x31;&#x32;&#x2D;&#x30;&#x38;&#x2D;&#x32;&#x31;&#x20;&#x31;&#x31;&#x3A;&#x32;&#x34;&#x20;&#x41;&#x4D;</p><p><b>&#x5206;&#x7C7B;&#x3A;</b> <a href="wap.asp?do=showLog&amp;cateID=5">&#x57;&#x65;&#x62;&#x7F16;&#x7A0B;</a></p><p><b>&#x5185;&#x5BB9;&#x3A;</b> MongoFileManger.cs&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;using System;<br/>using System.Collections.Generic;<br/>using System.IO;<br/>using MongoDB.Driver;<br/>using MongoDB.Driver.GridFS;<br/>/// &lt;summary&gt;<br/>///MongoFileManger &#x7684;&#x6458;&#x8981;&#x8BF4;&#x660E;<br/>/// &lt;/summary&gt;<br/>public class MongoFileManger<br/>{<br/>&#160;&#160;&#160;&#160;#region Fields<br/>&#160;&#160;&#160;&#160;private MongoDatabase _database;<br/>&#160;&#160;&#160;&#160;#endregion<br/>&#160;&#160;&#160;&#160;#region Properties<br/>&#160;&#160;&#160;&#160;public string ConnectionString { get; private set; }<br/>&#160;&#160;&#160;&#160;public string DatabaseName { get; private set; }<br/>&#160;&#160;&#160;&#160;#endregion<br/>&#160;&#160;&#160;&#160;#region Constructors<br/>&#160;&#160;&#160;&#160;/// &lt;summary&gt;<br/>&#160;&#160;&#160;&#160;/// Constructor<br/>&#160;&#160;&#160;&#160;/// &lt;/summary&gt;<br/>&#160;&#160;&#160;&#160;public MongoFileManger()<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;: this(&#34;mongodb://localhost/?safe=true&#34;, &#34;test&#34;)<br/>&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;/// &lt;summary&gt;<br/>&#160;&#160;&#160;&#160;/// Constructor<br/>&#160;&#160;&#160;&#160;/// &lt;/summary&gt;<br/>&#160;&#160;&#160;&#160;/// &lt;param name=&#34;connectionString&#34;&gt;&lt;/param&gt;<br/>&#160;&#160;&#160;&#160;/// &lt;param name=&#34;databaseName&#34;&gt;&lt;/param&gt;<br/>&#160;&#160;&#160;&#160;public MongoFileManger(string connectionString, string databaseName)<br/>&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ConnectionString = connectionString;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;DatabaseName = databaseName;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;_database = (MongoServer.Cr&#101;ate(ConnectionString)).GetDatabase(DatabaseName);<br/>&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;#endregion<br/>&#160;&#160;&#160;&#160;#region Methods<br/>&#160;&#160;&#160;&#160;/// &lt;summary&gt;<br/>&#160;&#160;&#160;&#160;/// Write<br/>&#160;&#160;&#160;&#160;/// &lt;/summary&gt;<br/>&#160;&#160;&#160;&#160;/// &lt;param name=&#34;path&#34;&gt;&lt;/param&gt;<br/>&#160;&#160;&#160;&#160;/// &lt;returns&gt;&lt;/returns&gt;<br/>&#160;&#160;&#160;&#160;public string Write(string path)<br/>&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;string filename = Guid.NewGuid().ToString();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;MongoGridFS gridfs = new MongoGridFS(_database);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;byte[] bytes = new byte[1024];<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;int length = 0;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;using (MongoGridFSStream stream = gridfs.Open(filename, FileMode.Cr&#101;ate))<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;using (FileStream fileStream = File.Open(path, FileMode.Open))<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;while ((length = fileStream.Read(bytes, 0, bytes.Length)) &gt; 0)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;stream.Write(bytes, 0, length);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return filename;<br/>&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;/// &lt;summary&gt;<br/>&#160;&#160;&#160;&#160;/// Write<br/>&#160;&#160;&#160;&#160;/// &lt;/summary&gt;<br/>&#160;&#160;&#160;&#160;/// &lt;param name=&#34;bytes&#34;&gt;&lt;/param&gt;<br/>&#160;&#160;&#160;&#160;/// &lt;returns&gt;&lt;/returns&gt;<br/>&#160;&#160;&#160;&#160;public string Write(byte[] bytes)<br/>&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;string filename = Guid.NewGuid().ToString();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;MongoGridFS gridfs = new MongoGridFS(_database);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;using (MongoGridFSStream stream = gridfs.Open(filename, FileMode.Cr&#101;ate))<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;stream.Write(bytes, 0, bytes.Length);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return filename;<br/>&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;/// &lt;summary&gt;<br/>&#160;&#160;&#160;&#160;/// Read<br/>&#160;&#160;&#160;&#160;/// &lt;/summary&gt;<br/>&#160;&#160;&#160;&#160;/// &lt;param name=&#34;filename&#34;&gt;&lt;/param&gt;<br/>&#160;&#160;&#160;&#160;/// &lt;returns&gt;&lt;/returns&gt;<br/>&#160;&#160;&#160;&#160;public byte[] Read(string filename)<br/>&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;MongoGridFS gridfs = new MongoGridFS(_database);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;byte[] bytes;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;using (MongoGridFSStream stream = gridfs.Open(filename, FileMode.Open))<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;bytes = new byte[stream.Length];<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;stream.Read(bytes, 0, bytes.Length);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return bytes;<br/>&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;/// &lt;summary&gt;<br/>&#160;&#160;&#160;&#160;/// Del&#101;te<br/>&#160;&#160;&#160;&#160;/// &lt;/summary&gt;<br/>&#160;&#160;&#160;&#160;/// &lt;param name=&#34;filename&#34;&gt;&lt;/param&gt;<br/>&#160;&#160;&#160;&#160;public void Del&#101;te(string filename)<br/>&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;MongoGridFS gridfs = new MongoGridFS(_database);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;gridfs.Del&#101;te(filename);<br/>&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;/// &lt;summary&gt;<br/>&#160;&#160;&#160;&#160;/// FindAll<br/>&#160;&#160;&#160;&#160;/// &lt;/summary&gt;<br/>&#160;&#160;&#160;&#160;/// &lt;returns&gt;&lt;/returns&gt;<br/>&#160;&#160;&#160;&#160;public List&lt;string&gt; FindAll()<br/>&#160;&#160;&#160;&#160;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;List&lt;string&gt; result = new List&lt;string&gt;();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;MongoGridFS gridfs = new MongoGridFS(_database);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;MongoCursor&lt;MongoGridFSFileInfo&gt; files = gridfs.FindAll();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;foreach (MongoGridFSFileInfo item in files)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;result.Add(item.Name);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return result;<br/>&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;#endregion<br/>}<br/>&#x8C03;&#x7528;&#x793A;&#x4F8B;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;&lt;%@ WebHandler Language=&#34;C#&#34; Class=&#34;Default&#34; %&gt;<br/>using System;<br/>using System.Web;<br/>using System.Collections.Generic;<br/>public class Default : IHttpHandler {<br/>&nbsp;&nbsp;&nbsp;&nbsp;public void ProcessRequest (HttpContext context) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//context.Response.ContentType = &#34;text/plain&#34;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MongoFileManger file = new MongoFileManger();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string filename = file.Write(@&#34;E:\Demo\WebSite1\test.gif&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;byte[] bytes = file.Read(filename);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context.Response.BinaryWrite(bytes);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//MongoFileManger manager = new MongoFileManger();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//List&lt;string&gt; files = manager.FindAll();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//foreach (string item in files)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;context.Response.Write(item + &#34;&lt;br/&gt;&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;public bool IsReusable {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}</p><p> + <a href="#CommentCard">&#x67E5;&#x770B;&#x5F53;&#x524D;&#x65E5;&#x5FD7;&#x8BC4;&#x8BBA;</a> (0)</p><p>&nbsp;<br/><br/><a href="wap.asp?do=Login">&#x767B;&#x5F55;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.047&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="postCommentCard"><p><b>&#x6807;&#x9898;&#x3A;</b> <a href="#MainCard">&#x43;&#x23;&#x4FDD;&#x5B58;&#x6587;&#x4EF6;&#x5230;&#x4D;&#x6F;&#x6E;&#x67;&#x6F;&#x44;&#x42;&#x793A;&#x4F8B;</a></p><p><br/>你没有权限发表评论</p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.047&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="CommentCard"><p>&#x6682;&#x65E0;&#x8BC4;&#x8BBA;</p><p><a href="#MainCard">&#x8FD4;&#x56DE;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.063&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card>
</wml>
