问题描述
我正在尝试使用GridF上载和下载文档。
var mongoClient = new MongoClient("mongodb://localhost:27017");
var db = mongoClient.GetDatabase("TestDB");
Stream source = new MemoryStream(Content.ToBson());
//Initializing GdridFS conection
GridFSBucket bucket = new GridFSBucket(db);
var options = new GridFsuploadOptions
{
ChunkSizeBytes = 64512,// 63KB
Metadata = new BsonDocument
{
{ "A","1" },{ "booleanValue",true }
}
};
// file name and source content we are receiving fom post man.
var id = await Bucket.UploadFromStreamAsync("FileName",source,options);
直到这里一切都很好。现在,我想根据文件名和ID下载文件。 所以我用这种方法。
var x = Bucket.DownloadAsBytesAsync(fileName);
现在,当我现在下载它时,我想知道有关上载时文件的所有信息。就像我想知道我在上传时存储的元数据信息以及文件名,id一样,这些信息是上传时存在的每条信息,但是我不知道如何在下载所有信息后获取它。 任何帮助将不胜感激。 问候
解决方法
基于https://mongodb.github.io/mongo-csharp-driver/2.10/reference/gridfs/downloadingfiles/和https://mongodb.github.io/mongo-csharp-driver/2.10/reference/gridfs/findingfiles/#gridfsfileinfo-class:
- 使用类似https://mongodb.github.io/mongo-csharp-driver/2.10/apidocs/html/M_MongoDB_Driver_GridFS_GridFSBucket_1_OpenDownloadStream.htm之类的流
- 使用https://mongodb.github.io/mongo-csharp-driver/2.10/apidocs/html/P_MongoDB_Driver_GridFS_GridFSDownloadStream_1_FileInfo.htm获取文件信息
- 使用https://mongodb.github.io/mongo-csharp-driver/2.10/apidocs/html/P_MongoDB_Driver_GridFS_GridFSFileInfo_1_Metadata.htm获取元数据