问题是我们的Ionic应用程序没有做任何改变,对putAttachment的调用现在在一些安卓设备上失败了。
信息:
多年来,我们的应用程序一直运行良好,没有改变pouchdb的使用。但就在过去两周,我们在保存文档附件(jpeg图像)方面遇到了困难。
我已经能够在我的开发环境中重现这个问题,并将这个问题隔离到putAttachment方法中,再也没有返回。也不会抛出任何错误。我已经升级到最新的pouchdb和cordova插件-sqlit-2适配器,没有变化。我们怀疑,由于我们的应用程序没有改变,Android操作系统中的某些东西已经发生了变化,但我们对此几乎没有什么洞察力。我们的用户有各种各样的设备,我们已经在Android 9、10、11和12上看到了故障。
在创建原始文档时,我重构了代码以内联附件,但在这种情况下,post()方法不返回。在这两种情况下,我们都将附件(键入image/jpeg)添加为Blob。
我还尝试将附件作为字符串添加为base64编码的图像数据。在这种情况下,putAttachment或post确实有效,我们似乎在本地数据库中获得了一个有效的文档和附件,但在本例中,本地文档无法同步到CouchDB (可能是由于409/冲突,但我还没有深入了解)。
我真的不认为pouchdb代码一定有问题,但我想了解如何调试它。如何识别我们正在锁定的putAttachment方法中的哪个点?我也会把它放在那里,看看是否还有其他人有类似的问题。这事已经持续了大概两周了。7月底发布了各种各样的Android更新,所以我们认为这就是原因所在。
https://stackoverflow.com/questions/73421716
复制相似问题