public void Revision_set_should_have_expected_result() { var subject = new GridFSDownloadByNameOptions(); subject.Revision = 2; subject.Revision.Should().Be(2); }
public byte[] DownloadAsBytesByName(string fileName, GridFSDownloadByNameOptions options = null) { MongoClient client = GetClient(m_connectionStr); var db = client.GetDatabase(DatabaseName); var bucket = new GridFSBucket(db, BucksOptions); return(bucket.DownloadAsBytesByName(fileName, options)); }
public void Revision_get_should_return_expected_result() { var subject = new GridFSDownloadByNameOptions { Revision = 2 }; var result = subject.Revision; result.Should().Be(2); }
public void DownloadToStreamByName(string fileName, Stream source, GridFSDownloadByNameOptions options = null) { MongoClient client = GetClient(m_connectionStr); var db = client.GetDatabase(DatabaseName); var bucket = new GridFSBucket(db, BucksOptions); bucket.DownloadToStreamByName(fileName, source, options); }
/// <summary> /// 根据文件名下载文件 /// </summary> /// <param name="filepath">保存文件的完整路径</param> /// <param name="fileName">文件名(不含扩展名)</param> /// <param name="collectionName">mongodb集合名</param> public void DownLoadFileByName(string filepath, string fileName, string collectionName) { FileStream fileStream = new FileStream(filepath, FileMode.Append); var bucket = new GridFSBucket(this.MongoDatabase, new GridFSBucketOptions { BucketName = collectionName, ChunkSizeBytes = 358400, WriteConcern = WriteConcern.WMajority, ReadPreference = ReadPreference.Secondary }); var options = new GridFSDownloadByNameOptions { Revision = 0 }; bucket.DownloadToStreamByName(fileName, fileStream, options); fileStream.Close(); }
private void ParseOptions(BsonDocument options) { foreach (var option in options.Elements) { _options = _options ?? new GridFSDownloadByNameOptions(); switch (option.Name) { case "checkMD5": _options.CheckMD5 = option.Value.ToBoolean(); break; case "revision": _options.Revision = option.Value.ToInt32(); break; default: throw new ArgumentException(string.Format("Invalid option name: {0}.", option.Name)); } } }
public void DownLoad() { using (FileStream fs = new FileStream(@"D:\gridfsDownload.jpg", FileMode.Create)) { mongoDBService.DownloadToStream(new ObjectId("5a61a113379d582f14e750a3"), fs); } var b = mongoDBService.DownloadAsBytes(new ObjectId("5a61b103379d5829f89d0688")); Console.WriteLine(Encoding.Default.GetString(b)); //异步方法 var bs = mongoDBService.DownloadAsBytesAsync(new ObjectId("5a61b103379d5829f89d0688")); bs.Wait(); Console.WriteLine("异步的方法,获得的字符串为:" + Encoding.Default.GetString(bs.Result)); //通过文件名下载 //当多个文件的文件名相同时,可以通过指定版本来选择下载哪一个文件,默认的是-1(最新上传的版本) //0,原始版 //1,第一版 //2,第二版 //..... //-1,最新版 //-2,次新版 //var bN = mongoDBService.DownloadAsBytesByName("gridfsTest"); //Console.WriteLine("通过文件名,获得的字符串为:" + Encoding.Default.GetString(bN)); //指定版本 var options = new GridFSDownloadByNameOptions { Revision = 0 }; using (FileStream fs = new FileStream(@"D:\gridfsDownloadByName.jpg", FileMode.Create)) { mongoDBService.DownloadToStreamByName("gridfsTest", fs, options); } }
public void default_constructor_should_return_expected_result() { var result = new GridFSDownloadByNameOptions(); result.Revision.Should().Be(-1); }
/// <summary> /// Downloads a file stored in GridFS and returns it as a byte array. /// </summary> /// <param name="filename"></param> /// <param name="options"></param> /// <returns></returns> public Task <byte[]> DownloadAsBytesByNameAsync(string filename, GridFSDownloadByNameOptions options = null) { var bucket = new GridFSBucket(base.GetDatabase(), BucketOptions); return(bucket.DownloadAsBytesByNameAsync(filename, options)); }
/// <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)); }
/// <summary> /// 下载文件 /// </summary> /// <param name="host"></param> /// <param name="fileName"></param> /// <param name="destination"></param> /// <param name="options"></param> public static Stream DownloadFileToStreamByName(MongodbHost host, string fileName, GridFSDownloadByNameOptions options = null) { Stream destination = new MemoryStream(); var bucket = MongodbManager <GridFSBucket> .GetGridFSBucket(host); bucket.DownloadToStreamByName(fileName, destination, options); return(destination); }