2016-07-23 75 views
0

在离子应用程序中,我想拍摄一张照片,然后在图像中显示该照片。Android上的Ionic cordova-plugin-camera大问题

$scope.takePicture = function() { 
       var options = { 
        quality: 50, 

        destinationType: Camera.DestinationType.FILE_URI, 
        sourceType: Camera.PictureSourceType.CAMERA, 
        allowEdit: false, 
        encodingType: Camera.EncodingType.JPEG, 
        targetWidth: 640, 
        targetHeight: 640, 
        mediaType: Camera.MediaType.PICTURE, 
        saveToPhotoAlbum: false, 
        correctOrientation:true 
       }; 

       $cordovaCamera.getPicture(options).then(function (imageData) { 

       var image = document.getElementById('myImage'); 
       image.src = imageData; 
}) 
} 

iOS上一切正常,并在我的应用我看到

在Android上的形象,我什么也没看到!但图像被正确保存,因为我可以在我的服务器中发送图像文件而没有任何问题。

我尝试添加:

<allow-navigation href="file:*"/> 

在我的config.xml中,我补充一下:

<meta http-equiv="Content-Security-Policy" content="default-src *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src 'self' 'unsafe-inline' *; img-src 'self' data: file: *"> 

在我的index.html,考虑安全下的图片 '文件:'

但是,没有结果。

任何帮助?

马西莫

回答

0

试试这个...

if (ionic.Platform.isAndroid() && (imageData.indexOf("file://") === -1)) { 
    image.src = "file://" + imageData 
} else { 
    image.src = imageData 
} 
2

尝试以下,

$cordovaCamera.getPicture(options).then(function (imageData) 
{ 
    var data = imageData; 
    var image = document.getElementById('myImage'); 
    image.src = data.split('?')[0]; 
})