0

MongoDB に画像ファイルを保存するためのコードをいくつか書きました。ここで、mongoDB からいくつかの画像をフィルタリングして取得したいと考えています。画像名に文字のセットが含まれている画像を除外したいと考えています。例: aaaa_DEX.jpg、bbbb_DEX.jpg、cccc_BVX.jpg、dddd_OUI.jpg、eeee_DEX.jpg 画像を mongoDB に保存しており、名前に「DEX」が含まれるすべての画像を取得したいとします。クエリビルダーで可能ですか? これどうやってするの?

アップロードするには、次を使用します。

public JsonResult UploadPrimaryImage(string hotelCode)
{
    var db = _hoteldbObj.Instance();
    var primaryImageBucket = new MongoGridFS(db, new MongoGridFSSettings() {Root = "HotelPrimaryImage"});

    foreach (string httpFile in Request.Files)
    {
        var postedFile = Request.Files[httpFile];

        if(postedFile == null)
            throw new InvalidOperationException("Invalid file");

        var bytes = ReadToEnd(postedFile.InputStream);

        using (var c = primaryImageBucket.Create(hotelCode, new MongoGridFSCreateOptions() { ContentType = postedFile.ContentType }))
        {                    
            c.Write(bytes, 0, bytes.Length);
            c.Flush();
            c.Close();
        }
    }

    return new JsonResult();
}

ありがとうございました

4

1 に答える 1

1

ABC がファイル名である .find("ABC") を実行すると、完全なファイル名を照会する場合にこれが処理されます。

ファイル名内の部分文字列に対してクエリを実行する場合、部分文字列をメタデータ オブジェクトの一部として保存することをお勧めします。メタデータの操作例については、この投稿を参照してください。

于 2013-03-04T14:15:55.477 に答える