将二进制文件拆分为大块上载/下载

时间:2020-01-27 08:41:42

标签: c# asp.net mongodb file-upload couchdb

出于某种原因,我将Couchdb用作内容管理,将文件上传为二进制数据, 没有像mongo db这样的GridFs支持来上传大文件,因此我需要将文件上传为大块,然后将它们作为一个文件重新获取

这是我的代码

public string InsertDataToCouchDb(string dbName, string id, string filename, byte[] image)
        {
            var connection = System.Configuration.ConfigurationManager.ConnectionStrings["CouchDb"].ConnectionString;
            using (var db = new MyCouchClient(connection, dbName))
            {

                // HERE I NEED TO UPLOAD MY IMAGE BYTE[] AS CHUNKS 
                var artist = new couchdb
                {
                    _id = id,
                    filename = filename,
                    Image = image
                };

                var response = db.Entities.PutAsync(artist);
                return response.Result.Content._id;
            }

        }


 public byte[] FetchDataFromCouchDb(string dbName, string id)
        {
            var connection = System.Configuration.ConfigurationManager.ConnectionStrings["CouchDb"].ConnectionString;
            using (var db = new MyCouchClient(connection, dbName))
            {
                //HERE I NEED TO RETRIVE MY FULL IMAGE[] FROM CHUNKS
                var test = db.Documents.GetAsync(id, null);
                var doc = db.Serializer.Deserialize<couchdb>(test.Result.Content);
                return doc.Image;
            }
        }

谢谢

0 个答案:

没有答案