是否可以在Ionic 4中显示cdvphotolibrary://?
我已经尝试了大部分可用的东西来显示thumbanil:
<allow-intent href="cdvphotolibrary:*" />
<allow-navigation href="cdvphotolibrary://*" />
<meta http-equiv="Content-Security-Policy" content="cdvphotolibrary:">
想法是显示这样的内容,实际上是照相馆返回的缩略图:
cdvphotolibrary://thumbnail?photoId=43%3B%2Fstorage%2Femulated%2F0%2FDCIM%2FCamera%2F20190304_204426.jpg&width=512&height=384&quality=0.8
我正在使用https://www.npmjs.com/package/cordova-plugin-photo-library
谢谢
答案 0 :(得分:1)
确定该错误代码已放弃了更多信息。
It seems,cdvphotolibrary://
协议被归类为file://
协议,您不能在较新的Webview中使用它们。
但是,存在file://协议的解决方法:
哪个是
对于Cordova应用程序,Ionic Web View插件提供了用于转换文件URI的实用程序功能:window.Ionic.WebView.convertFileSrc()。还有一个对应的Ionic Native插件:@ ionic-native / ionic-webview。
似乎插件也提供了文件://网址are actually available:
this.photoLibrary
.requestAuthorization()
.then(() => {
this.photoLibrary
.getLibrary()
.subscribe({
next: library => {
library.forEach(libraryItem => {
let url: string;
if (libraryItem.id.split(';').length > 0) {
url = 'file://' + libraryItem.id.split(';')[1];
}
// Get http://localhost url
url = (window as any).Ionic.WebView.convertFileSrc(url)
});
},
error: err => {
console.log('could not get photos');
},
complete: () => {
console.log('done getting photos');
console.log(this.images);
count = 0;
},
});
})
.catch(err => {
console.log("permissions weren't granted");
});
但是,似乎可能需要对Ionic进行一些其他调整-请查看该线程以查看进一步的讨论。