public async Task <MemoryStream> downTileData(string fileName) { GridFSFileInfo fileInfo; var filter = Builders <GridFSFileInfo> .Filter.Eq(x => x.Filename, fileName); var options = new GridFSFindOptions { Limit = 1 }; using (var cursor = gridFSBucket.Find(filter, options)) { fileInfo = cursor.ToList().FirstOrDefault(); } if (fileInfo.Id != null) { GridFSDownloadStream gridFSDownloadStream = gridFSBucket.OpenDownloadStream(fileInfo.Id); } MemoryStream destination = new MemoryStream(); destination.Seek(0, SeekOrigin.Begin); await gridFSBucket.DownloadToStreamByNameAsync(fileName, destination); if (destination != null) { return(destination); } else { return(null); } }
public async Task DownloadToStreamByNameAsync(string gfsname, Stream source, MediaTypeEnum bucketName) { var bucket = new GridFSBucket(_mongoDatabase, new GridFSBucketOptions { BucketName = bucketName.ToString() }); await bucket.DownloadToStreamByNameAsync(gfsname, source); }
public async Task <MemoryStream> DownloadFile(string fileName, string databaseName) { var database = client.GetDatabase(databaseName); var fs = new GridFSBucket(database); var ms = new MemoryStream(); await fs.DownloadToStreamByNameAsync(fileName, ms); ms.Position = 0; return(ms); }
public static async Task DownloadFileToStreamByName() { var database = DatabaseHelper.GetDatabaseReference("localhost", "file_store"); IGridFSBucket bucket = new GridFSBucket(database); var fileName = "c:\\temp\\mystream2.pdf"; using (Stream fileStream = new FileStream(fileName, FileMode.CreateNew, FileAccess.Write)) { await bucket.DownloadToStreamByNameAsync("sample2.pdf", fileStream); fileStream.Close(); } }
public static async Task <Stream> GetAsync(string filename) { var db = DbConnection.db; var collection = db.GetCollection <GridFSFileInfo>("fs.files"); var builder = Builders <GridFSFileInfo> .Filter; var filter = builder.Eq(i => i.Filename, filename); var fileCollection = await collection.FindAsync <GridFSFileInfo>(filter); var file = fileCollection.FirstOrDefault(); if (file == null) { return(null); } var bucket = new GridFSBucket(db); var stream = new MemoryStream(); await bucket.DownloadToStreamByNameAsync(filename, stream); stream.Position = 0; return(stream); }
/// <summary> /// Downloads a file stored in GridFS and writes the contents to a stream. /// </summary> /// <param name="filename"></param> /// <param name="destination"></param> /// <param name="options"></param> /// <returns></returns> public Task DownloadToStreamAsync(string filename, Stream destination, GridFSDownloadByNameOptions options = null) { var bucket = new GridFSBucket(base.GetDatabase(), BucketOptions); return(bucket.DownloadToStreamByNameAsync(filename, destination, options)); }