2013-06-06 1 views
6

Я пишу свое первое приложение для Android с помощью PhoneGap, но я немного смущен документацией для FileReader. Мне нужно взять файл изображения и преобразовать его в строку Base64 с помощью метода readAsDataURL(). From their documentation:PhoneGap readAsDataURL

function win(file) { 
var reader = new FileReader(); 
reader.onloadend = function(evt) { 
    console.log("read success"); 
    console.log(evt.target.result); 
}; 
reader.readAsDataURL(file); 
}; 
var fail = function(evt) { 
console.log(error.code); 
}; 
entry.file(win, fail); 

Я довольно много понять все, что для последней строки, за исключением: entry.file (победа, провал). Нигде не указана запись, но я предполагаю, что это объект FileEntry. Проблема в том, что мне не очень повезло найти документацию о том, как сгенерировать объект FileEntry, и в какой момент я передаю путь к файлу.

+0

да, документация по-прежнему ужасная –

ответ

18

Хорошо, наконец, это получилось. Ужасная документация онлайн! Я отправляю свой код на случай, если у других возникнут проблемы:

window.resolveLocalFileSystemURI(filePath, 
    // success callback; generates the FileEntry object needed to convert to Base64 string 
    function (fileEntry) { 
     // convert to Base64 string 
     function win(file) { 
      var reader = new FileReader(); 
      reader.onloadend = function (evt) { 
       var obj = evt.target.result; // this is your Base64 string 
      }; 
      reader.readAsDataURL(file); 
     }; 
     var fail = function (evt) { }; 
     fileEntry.file(win, fail); 
    }, 
    // error callback 
    function() { } 
); 
+0

Работает замечательно! –

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