Android - Error al visualizar imagen con plugin-camera

 
Vista:
sin imagen de perfil

Error al visualizar imagen con plugin-camera

Publicado por HELENA (4 intervenciones) el 09/05/2022 11:49:30
Buenos días, necesito algo de ayuda. Estoydesarrollando una pequeña aplicación con cordova y Android Studio en la que debo tomar un foto con la que cámara y mostrarla por pantalla en una etiqueta img, además he añadido la opción de poder elegir una foto de la galeria. Para ello, he incluido el plugin cordova-plugin-camera. Parece que todo funciona correctamente, excepto que no se visuaiza la imagen, solo aparece el icono de imagen donde tendría que aparecer la foto seleccionada. He probado muchas cosas e incluso he modificado la etiqueta <meta http-equiv="Content-Security-Policy"> por si el error estuviera aqui, pero no hay forma de que se muestre la imagen.
Os paso el codigo que estoy utilizando a ver si alguien me puede echar un cable:
Este es mi archivo HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: ms-appdata: https://ssl.gstatic.com 'unsafe-eval' *; script-src 'self' https://*.googleapis.com 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src * 'self' data: content:; media-src *">
        <meta name="format-detection" content="telephone=no">
        <meta name="msapplication-tap-highlight" content="no">
        <meta name="viewport" content="user-scalable=no initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, viewport-fit=cover">
        <meta name="color-scheme" content="light dark">
        <link rel="stylesheet" href="css/index.css">
        <link rel="stylesheet" href="jquerymobile/jquery.mobile-1.4.5.min.css"/>
        <script type="text/javascript" src="js/jquery-2.2.3.min.js"></script>
        <script type="text/javascript" src="jquerymobile/jquery.mobile-1.4.5.min.js"></script>
         <title>Hello World</title>
    </head>
    <body>
     <div data-role="page" id="pagina_fotos">
            <div data-role="header">
                <div data-role="navbar">
                    <ul>
                        <li><a href="#pagina_mapa">Mapa</a> </li>
                        <li><a href="#pagina_iframe">Buscador</a> </li>
                        <li><a href="#pagina_fotos">Foto</a> </li>
                    </ul>
                </div>
            </div>
            <div data-role="main" class="ui-content">
                <div id="boton">
                    <button id="btnFoto" value="foto">Hacer Foto</button>
                    <button id="verFoto" value="vfoto">Ver Fotos</button>
                </div>
                <img id="imagen" src="" width="100%" height="100%"/>
            </div>
            <div data-role="footer" data-position="fixed" data-inline="true">
                <p>Footer</p>
            </div>
        </div>
	 <script src="cordova.js"></script>
        <script src="js/index.js"></script>
	</body>
</html>

Y este es mi index.js:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady() {
console.log('Running cordova-' + cordova.platformId + '@' + cordova.version);
    document.getElementById("btnFoto").addEventListener('click', getPhoto, false);
    document.getElementById("verFoto").addEventListener('click', getVerfoto, false);
}
function getVerfoto () {
 
    var opts = {
        quality: 50,
        destinationType: Camera.DestinationType.FILE_URI,
        sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
        encodingType: Camera.EncodingType.JPEG,
        mediaType: Camera.MediaType.PICTURE,
        saveToPhotoAlbum: true,
        correctOrientation: true
        };
        navigator.camera.getPicture(cameraSuccess, cameraError, opts);
}
 
function getPhoto () {
    navigator.camera.getPicture(cameraSuccess, cameraError, { quality:50, destinationType: Camera.DestinationType.FILE_URI, sourceType: Camera.PictureSourceType.CAMERA, saveToPhotoAlbum: true, encodingType: Camera.EncodingType.JPEG});
}
 
function cameraSuccess (imageURI) {
    var image = document.getElementById('imagen');
    image.src = imageURI;
}
 
function cameraError (message) {
    alert('Ha fallado porque:' + message);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder