private async Task <GridFSFileInfo> GetFileInfoAsync(string fileName) { var filter = Builders <GridFSFileInfo> .Filter.Eq(x => x.Filename, fileName); var fileInfo = await GridFsBucket.Find(filter).FirstOrDefaultAsync(); return(fileInfo); }
public IEnumerable <MongoItemVM> GetAllFiles(int skip, int take) { var options = new GridFSFindOptions { Limit = take, Skip = skip, }; var stream = GridFsBucket .Find(new BsonDocumentFilterDefinition <GridFSFileInfo <ObjectId> >(new BsonDocument()), options) .ToList() .Select(s => new MongoItemVM { Id = s.Id, Filename = s.Filename, MetaData = s.Metadata, Length = s.Length + "", UploadDateTime = s.UploadDateTime, }).ToList(); return(stream); }
public IEnumerable <MongoItemVM> GetAllFilesByContentType(string contentType, int skip, int take) { var filter = Builders <GridFSFileInfo> .Filter .Eq(info => info.Metadata, new BsonDocument(new BsonElement("contentType", contentType))); var options = new GridFSFindOptions { Limit = take, Skip = skip, }; var stream = GridFsBucket.Find(filter, options) .ToList() .Select(s => new MongoItemVM { Id = s.Id, Filename = s.Filename, MetaData = s.Metadata, Length = s.Length + "", UploadDateTime = s.UploadDateTime, }).ToList(); return(stream); }
public Task <bool> AnyAsync(string fileName) { var filter = Builders <GridFSFileInfo> .Filter.Where(x => x.Filename == fileName); return(GridFsBucket.Find(filter).AnyAsync()); }
public async Task <bool> AnyAsync(ObjectId id) { var filter = Builders <GridFSFileInfo> .Filter.Eq("_id", id); return(await GridFsBucket.Find(filter).AnyAsync()); }