Я пытаюсь получить доступ к фотобиблиотеке системы Android, чтобы получить изображение. У меня есть переменная imageURI, предоставляемая функцией navigator.camera.getPicture. Это нормально до тех пор. Но позже я хочу получить доступ к фотобиблиотеке и взять код base64 этого изображения.
Поскольку невозможно, чтобы navigator.camera.getPicture возвращает обе данные (imageURI и imageData), мне нужно получить информацию о base64 позже. Вот код, который я пытался использовать, просматривая «файловую» документацию phoneGap, но она не работает.
Останавливается при вызове «fileSystem.root.getFile» - (Ошибка в обратном вызове ошибки: File4 = TypeError: Результат выражения 'evt.target' [undefined] не является объектом. At file: /// android_asset / www /phonegap-1.3.0.js:717)
Кто мог мне помочь? Спасибо.
function base64(imageURI) {
alert(imageURI);
document.addEventListener("deviceready", onDeviceReady);
function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);}
function gotFS(fileSystem) {
alert("filesystem");
//Next line causes error. Perhaps imageURI is not a valid path?
fileSystem.root.getFile(**imageURI**, null, gotFileEntry, fail);}
function gotFileEntry(fileEntry) {
alert("gotfileentry");
fileEntry.file(gotFile, fail);}
function gotFile(file){
alert("got file");
readDataUrl(file);}
function readDataUrl(file) {
alert("readDataURL");
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("Read as data URL");
alert(evt.target.result);
};
reader.readAsDataURL(file);
}
function fail(evt) {
console.log(evt.target.error.code);}}