我正试图从带有cordova相机插件的画廊中获取图像,这就是我这样做的方式: navigator.camera.getPicture(onSuccess, onFail, { quality: 50, sourceType: Camera.PictureSourceType.SAVEDPHOTOALBUM, destinationType: Camera.D
navigator.camera.getPicture(onSuccess, onFail, { quality: 50, sourceType: Camera.PictureSourceType.SAVEDPHOTOALBUM, destinationType: Camera.DestinationType.FILE_URI, mediaType: Camera.MediaType.ALLMEDIA, encodingType: Camera.EncodingType.JPEG });
但是在我的’onSuccess’函数中,我得到了以下格式的图像URI:
"content://com.android.providers.media.documents/document/image%3A1509"
我希望URI具有图像的完整路径,就像我在使用相机时获取它一样:
"file:///storage/emulated/0/Pictures/IMG_20150710_124222.jpg"
阅读官方文档我已经看到,我应该做的唯一事情是将属性’DestinationType’设置为’FILE_URI’,已经设置,如上所示.
我究竟做错了什么?
我找到了一个插件,将’content:// …’格式的URI转换为完整的文件路径,它不是完美的解决方案,但它是一个为我工作的插件,插件是 cordova-plugin-filepath,我用它在getCamera函数的onSuccess回调中:function onSuccess(imageURI) { window.FilePath.resolveNativePath(imageURI, function(result) { // onSuccess code imageURI = 'file://' + result; . . . }, function (error) { // onError code here } }