2017-02-20 11 views
3

Я использовал этот код, чтобы использовать мой телефон в библиотеке фотографийПонимание картина обработки в Intel XDK

// event listener for camera 
document.addEventListener("deviceready", onDeviceReady, false); 
function onDeviceReady() { 
     pictureSource=navigator.camera.PictureSourceType; 
     destinationType=navigator.camera.DestinationType; 
} 

и работает нормально.

Я призываю библиотеку фотографий с помощью:

navigator.camera.getPicture(onGetPicSuccess, onGetPicFail, { 
     quality: 50, 
     destinationType: destinationType.FILE_URI, 
     sourceType: pictureSource.PHOTOLIBRARY 
    }); 

то функция вызывается после успешной картины "получить"

function onGetPicSuccess(imageData){  

переменная "ImageData" выглядит следующим образом:

blob:http%3A//localhost%3A57492/ac65226c-5698-4345-b301-81205b1403fa  

Теперь, мой вопрос. Я предполагаю, что это не фактические данные изображения. Это URL-адрес, указывающий на изображение на камере.

Верно ли это?

Если да, то как мне получить фактические данные изображения? Моя конечная цель - форматировать данные так же, как и то, что будет использоваться в форме загрузки файла HTML.

ответ

0

Да, переменная «imageData» содержит URI для изображения на камере. Мне нужно было создать объект FileTransfer() и предоставить ему URI, и он позаботится о отправке необработанных данных изображения.

 var ft = new FileTransfer(); 
    ft.upload(imageData, "https://somewhere.com/cgi/mPictureUpload.exe", function(result){ 
     // success 
    }, function(error){ 
     // fail 
    }, options);