【问题标题】:Couchbase .Net SDK AttachmentCouchbase .Net SDK 附件
【发布时间】:2015-05-04 10:26:40
【问题描述】:

我正在为 Asp.Net 应用程序使用 couchbase 数据库。我从未找到使用 couchbase 的 .Net api 在 couchbase 上推送附件的代码。 我在 android 中找到了一些类似要求的代码,但我无法在 .Net SDK 中使用。

我正在使用 couchbase .Net SDK 2.0。 提前致谢。

【问题讨论】:

  • 不清楚你在问什么?这里有什么问题?
  • 您能否扩展“推送附件”的含义?您能否显示/链接到您正在努力在 .NET 中重现的等效 Android(Lite SDK?)代码?
  • 这是android中针对同样问题的代码:/InputStream stream = null; if (requestCode == REQUEST_CODE && resultCode == // 将图像作为 JPEG 附件添加或更新到文档中: Document doc = database.getDocument("Robin"); UnsavedRevision newRev = doc.getCurrentRevision().createRevision(); newRev.setAttachment("photo.jpg", "image/jpeg", stream); newRev.save(); } }

标签: couchbase


【解决方案1】:

Couchbase .NET 2.0 SDK 不支持像 Couchbase Lite/Mobile 这样的附件。此功能是 CouchDb 的继承,Couchbase Server 本身不支持附件。

【讨论】:

  • 值得一提的是,Couchbase Server 的值限制是 20MB。
  • 你能告诉我实现同样挑战的另一种方法吗?
【解决方案2】:

您在 Couchbase 中有几个选项来处理二进制数据:

  1. 您可以序列化二进制内容并像添加任何其他字符串值一样添加到文档中
  2. 您还可以将“附件”保存在单独的密钥下,并将内容存储为二进制文件。

选项 2 的好处是您不会增加序列化的开销(大约增加了 +30% 的大小)

如果您选择智能键名策略,这可以非常优雅地完成:

主文档的键:doc1 附件键:doc1::attachment::1

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多