【问题标题】:pouchdb alldocs get nosql attachmentpouchdb alldocs 获取 nosql 附件
【发布时间】:2023-03-27 03:24:01
【问题描述】:

我有一段 angular2 + pouchdb 代码,用于查询 cloudant 并获取带有附件的文档。返回文档的控制台日志如下所示

{"type":"some_doc"},"_attachments":{"logo.png":{"digest":"md5-UK7aKiZSqQ6Xljz4wmUMkw==","content_type":"image/png","data":"iVBO....CCGE

截断数据...

我现在正在尝试在项目列表中显示图像

<img [src]=doc.some.path>

我面临的挑战是我无法动态访问数据元素来获取 blob 并调用

var url = URL.createObjectURL(blob);

我发现的所有帖子要么很老,而且关于 alldocs 不支持附件获取,或者在示例代码中硬编码 blob。

请帮忙。

谢谢, 猫王。

【问题讨论】:

    标签: base64 blob attachment pouchdb cloudant


    【解决方案1】:

    您的问题的最佳答案是here。总结:

    • 调用 PouchDB db.getAttachment 函数将图像作为 Blob 对象返回
    • 调用 URL.createObjectURL(blob) 将 blob 转换为可由图像标签使用的 URL
    • 将 URL 附加到 img 标记的 src 属性

    【讨论】:

    • 我以前经历过这个,这里的问题是我需要为每条记录再次调用数据库 db.getAttachment,而我已经完成了 db.alldocs( {attachments=true}) 并获取所有用户的所有附件。如何重用json中的blob是个问题。
    • 否则,由于db.getAttachment需要两个参数,即doc的_id和fileName,如何确定数据库中附件的动态命名的fileName?
    猜你喜欢
    • 2015-07-04
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 2020-09-14
    相关资源
    最近更新 更多