【问题标题】:Pouchdb Unable to get attachmentfrom local machinePouchdb 无法从本地机器获取附件
【发布时间】:2016-10-25 18:27:12
【问题描述】:

我正在使用以下代码将图像存储到 pouchdb,result.base_64 包含 blob。当我使用 PouchDB Inspector 检查时,它显示 db 大小为零,单击附件时显示找不到文件

 var db = new PouchDB('xyz');
 db.putAttachment('skul', 'skul', result.base_64, 'image/jpg').then(function() {
                        return db.get('skul', {
                            attachments: true
                        });
                    }).then(function(doc) {
                        console.log(doc);
                    });

试过这个来获取附件

db.getAttachment('skul', 'skul' function(err, blob_buffer) {
                            if (err) {
                                return console.log(err);
                            } else {
                                //  console.log(blob_buffer);
                                var url = URL.createObjectURL(blob_buffer);
                                var img = document.createElement('img');
                                img.src = url;
                                document.body.appendChild(img);
                            }
                        })

这会在浏览器上显示图像,但图像的 url 是

src="blob:http://localhost:8000/d1388aaa-f2c8-45ae-af39-e2b384e25c7c"

这是指服务器而不是本地机器

【问题讨论】:

    标签: javascript angularjs pouchdb


    【解决方案1】:

    您是否确认result.base_64 不是空字符串或者它是有效的base64?

    我们在文档中提供了实时工作示例,展示了如何插入 base64 数据。您可以在浏览器中运行这些示例并确认它们是否有效。 :) https://pouchdb.com/guides/attachments.html

    【讨论】:

    • 它不是空的,我用 id 和 name 做了getAttachment,我通过做document.body 收到了图像。但是图片url是指远程服务器而不是本地机器
    猜你喜欢
    • 2017-10-23
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    相关资源
    最近更新 更多