【问题标题】:Storing video/audio in PouchDB在 PouchDB 中存储视频/音频
【发布时间】:2015-09-11 22:47:18
【问题描述】:

我正在开发一个 Cordova 应用程序并使用 PouchDB 作为数据库,当连接可用时,它将所有信息复制到 CouchDB。 我成功地存储了简单的文本和图像。 我一直在尝试存储视频和音频,但没有运气。

我存储数据的方式是:

    var emo = {
        _id: timestamp,
        user: uuid,
        location: curLatLng,
        _attachments:
            {
                "image.jpg":
                {
                    content_type:"image\/jpeg",
                    data: image
                },
                "video.mp4":
                {
                    content_type:"video\/mp4",
                    data: video
                }
        }
    };
    db.put(emo, function callback(err, result) {
        if (!err) {
            //console.log('Successfully posted a todo!');
        }
    }); 

我或多或少地通过以下方式创建了“视频”: Cordova - Capture video and retrieve base64 data

所以,最后它的格式是 blob。

首先我不确定是否可以在 PouchDB 中存储音频/视频。如果可能的话,你能发现我做错了什么吗?我应该采用不同的方法吗?

非常感谢您的宝贵时间!

【问题讨论】:

  • 你看过文档吗:pouchdb.com/guides/attachments.html?
  • 是的,我看到了。我首先尝试保存路径,所以回调函数中的变量“mediaFiles[0].fullPath”。然后我也尝试保存为blob,使用这里的函数stackoverflow.com/questions/26733070/…。我关注了文档,但我认为我遗漏了一个细节或无法存储视频,因为文档中没有提到它。 (只是具体描述了文字和图片。)

标签: cordova audio video couchdb pouchdb


【解决方案1】:

PouchDB 绝对支持存储 Blob;有a guide to attachments 解释了如何。

这里是a little demo,展示了如何存储文件。您可以从文件系统上传任何文件,并将其存储在 PouchDB 中。希望对您有所帮助!

【讨论】:

  • 非常感谢。你的回复很有帮助。最后我可以存储在 PouchDB 中。但是我面临另一个问题。现在我可以在 PouchDB 中存储,但在我的物理 Android 设备上从未发生过复制到 CouchDB 的操作。奇怪的是,这适用于我的 PC 浏览器和模拟器。这实际上在两天前也在我的 Android 设备上工作。你能猜出原因吗?
  • 可能您的 CouchDB 无法从您运行它的计算机以外的任何地方访问。尝试将“绑定地址”设置为 0.0.0.0 而不是 127.0.0.1。确保您可以从另一台计算机(例如 Android 设备上的网络浏览器)访问它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-27
  • 1970-01-01
相关资源
最近更新 更多