【发布时间】:2020-06-30 20:01:53
【问题描述】:
我遇到了一个有趣的问题:我正在开发一个离子应用程序,使用cordova-plugin-file 来存储图像。生成的路径(格式为 file:///... 的 URI)与更多信息一起存储在 SQLite DB 中。当我安装并使用该应用程序时,一切正常。但是,如果我更新(或重新安装)应用程序,旧图像就找不到了,而新添加的图像却完美无缺。
我首先怀疑图像文件在更新时被删除,但我检查了目录的内容,文件仍然存在。 (仅供参考:我使用file.dataDirectory/scans/ 来放置我的文件)。
然后我想也许我可以解决加载到img src 一个加载了cordova.file.readAsUrl() 的base64 blob 的问题,但是cordova.file 也没有找到该文件(我坚持,文件在那里,我检查了使用 XCode)。
所以我进一步检查了cordova.file,它只找到上次应用安装后添加的文件,但旧文件仍然存在于目录中。
这是我的代码:
private getImgSrcFromDocument(doc: Document): any {
const uri = doc.fileName;
const src = this.webView.convertFileSrc(uri);
const sanitized = this.sanitizer.bypassSecurityTrustUrl(src);
console.log({uri, src, sanitized});
return sanitized;
}
<img class="document_thumbnail" [src]="getImgSrcFromDocument(doc)">
我已经检查过this,但不是我的情况。
顺便说一句,同样的代码在 Android 上也能完美运行。
知道可能是什么问题吗? 提前致谢!
【问题讨论】:
标签: ios cordova ionic-framework cordova-plugins ionic4