cordova从cdvfile加载图像://错误网:: ERR_UNKNOWN_URL_SCHEME

时间:2017-01-19 08:30:25

标签: angularjs cordova meteor camera

当我试图从cdvfile://

加载图像时,我得到了一个非常奇怪的行为

案例1: 我试图用cordova camera.getPicture加载带有选项的图像:

{
  destinationType: Camera.DestinationType.NATIVE_URI, 
  sourceType: Camera.PictureSourceType.SAVEDPHOTOALBUM, 
  correctOrientation: true
}

所以在这种情况下,使用correctOrientation: true,cordova制作了原始文件的副本并将其存储在app cache文件夹中,并在回调中获得了缓存文件路径。然后我把它转换成cdvfile,它工作得很好。

案例2: 在案例1中,我不高兴,因为我想要原始文件路径,所以我可以保存它并在我想要时重新加载它。 所以我改变了一下代码: 最快的方法是删除选项correctOrientation: true,这样我得到原始文件路径,然后使用window.resolveLocalFileSystemURL(情况1中的方法相同),我得到cdvfile,我将其设置为image.src并且BAM:

  

无法加载资源:net :: ERR_UNKNOWN_URL_SCHEME

与缓存文件完美配合:

文件uri:file:///storage/emulated/0/Android/data/{app_id}/cache/IMG_20170119_091504.jpg?1484813705413

已转换的文件网址:cdvfile://localhost/cache-external/IMG_20170119_091504.jpg

不使用原始文件:

文件uri:content://com.android.providers.media.documents/document/image%3A91315

转换为cdvfile:cdvfile://localhost/content/com.android.providers.media.documents/document/image%3A91316:1

我真的很困惑......有什么想法可以解决这个错误吗?

我正在使用:

  • angular@1.6.1
  • meteor@1.4.2.3
  • 捆绑cordova-android@5.2.2
  • cordova-plugin-camera@2.2.0
  • cordova-plugin-file@4.2.0
  • nexus7@6.0.1

0 个答案:

没有答案