2014-02-08 2 views
1

Хорошо, я пытаюсь просто открыть библиотеку фотографий, а затем оттуда я начну работу над ее загрузкой на сервер. Но в настоящее время библиотека камеры не открывается. Я скопировал пример из документов. Затем я добавил устройство в файл config.xml и выполнил команду добавления плагина cordova.Phonegap не откроет камеру

Но когда я запускаю приложение и нажимаю кнопку, ничего не происходит. Я новичок в плагинах cordova, а не на javascript. Я тоже на v3.3 для iOS.

Это в config.xml

<feature name="Camera"> 
    <param name="ios-package" value="CDVCamera" /> 
</feature> 

Это photo.html

<html> 
<head> 
    <title>Capture Photo</title> 

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script> 
    <script type="text/javascript" charset="utf-8"> 

     var pictureSource; // picture source 
     var destinationType; // sets the format of returned value 

     // Wait for device API libraries to load 
     // 
     document.addEventListener("deviceready",onDeviceReady,false); 

     // device APIs are available 
     // 
     function onDeviceReady() { 
      pictureSource=navigator.Camera.PictureSourceType; 
      destinationType=navigator.Camera.DestinationType; 
     } 

    // Called when a photo is successfully retrieved 
    // 
    function onPhotoDataSuccess(imageData) { 

     var smallImage = document.getElementById('smallImage'); 


     smallImage.style.display = 'block'; 

     // Show the captured photo 
     // The in-line CSS rules are used to resize the image 
     // 
     smallImage.src = "data:image/jpeg;base64," + imageData; 
    } 

    // Called when a photo is successfully retrieved 
    // 
    function onPhotoURISuccess(imageURI) { 
     // Uncomment to view the image file URI 
     // console.log(imageURI); 

     // Get image handle 
     // 
     var largeImage = document.getElementById('largeImage'); 

     // Unhide image elements 
     // 
     largeImage.style.display = 'block'; 

     // Show the captured photo 
     // The in-line CSS rules are used to resize the image 
     // 
     largeImage.src = imageURI; 
    } 

    function getPhoto(source) { 
     // Retrieve image file location from specified source 
     navigator.Camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, 
            destinationType: destinationType.FILE_URI, 
            sourceType: source }); 
    } 

    // Called if something bad happens. 
    // 
    function onFail(message) { 
     alert('Failed because: ' + message); 
    } 

     </script> 
</head> 
<body> 
    <button onclick="capturePhoto();">Capture Photo</button> <br> 
    <button onclick="capturePhotoEdit();">Capture Editable Photo</button> <br> 
    <button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">From Photo Library</button><br> 
    <img style="display:none;width:60px;height:60px;" id="smallImage" src="" /> 
    <img style="display:none;" id="largeImage" src="" /> 
</body> 

+0

WATS де ошибку ?? –

+0

@DiveshSalian Код ошибки не компилируется и запускается симулятором, когда я нажимаю кнопку, чтобы открыть библиотеку камеры, ничего не происходит. – sdla4ever

+0

Вы добавили необходимые плагины из командной строки? Если вы запускаете HTML в Chrome и отлаживаете с помощью консоли, он обычно скажет вам, что не хватает – terrorfall

ответ

0

Изменить

destinationType: destinationType.FILE_URI 

к

destinationType: destinationType.DATA_URL 

в вашей функции getPhoto().

Если это не сработает, попробуйте следующее:

Camera.DestinationType.DATA_URL 

Также проверьте этот URL для более ответов:

Phonegap Camera API Cannot read property data url of undefined

Смежные вопросы