sql >> データベース >  >> NoSQL >> MongoDB

C#を使用したMongoDB GridF、画像などのファイルを保存する方法は?

    次の例は、ファイルを保存してgridfsから読み戻す方法を示しています(公式のmongodbドライバーを使用):

     var server = MongoServer.Create("mongodb://localhost:27020");
     var database = server.GetDatabase("tesdb");
    
     var fileName = "D:\\Untitled.png";
     var newFileName = "D:\\new_Untitled.png";
     using (var fs = new FileStream(fileName, FileMode.Open))
     {
        var gridFsInfo = database.GridFS.Upload(fs, fileName);
        var fileId = gridFsInfo.Id;
    
        ObjectId oid= new ObjectId(fileId);
        var file = database.GridFS.FindOne(Query.EQ("_id", oid));
    
        using (var stream = file.OpenRead())
        {
           var bytes = new byte[stream.Length];
           stream.Read(bytes, 0, (int)stream.Length);
           using(var newFs = new FileStream(newFileName, FileMode.Create))
           {
             newFs.Write(bytes, 0, bytes.Length);
           } 
        }
     }
    

    結果:

    ファイル:

    チャンクコレクション:

    この助けを願っています。



    1. mongodb /mongoosefindMany-配列にリストされているIDを持つすべてのドキュメントを検索します

    2. ドキュメントの配列内のオブジェクトをどのように更新しますか(ネストされた更新)

    3. 流星生産サーバーからローカルまでのMongorestore

    4. SidekiqがRailsActiveJobのレコードを見つけられない