2014-01-23 3 views
2

Я использую phonegap/cordova (3.3.0) для доступа к функции камеры iOS. Источник камеры установлен в библиотеку, чтобы получить записи в библиотеке. Если я выберу файл из библиотеки, я получаю uri, я хочу использовать его для копирования файла.phonegap копировать фотографию из фото-библиотеки iOS

navigator.camera.getPicture(capSucc, capFail,{ 
     sourceType: Camera.PictureSourceType.PHOTOLIBRARY 
}); 

function capSucc(fileURI){ 
     cpyCtrl.copy(fileURI); 
} 

Затем я пытаюсь получить файл из localFileSystem файломURI. Я получаю FileEntry, но он останавливается на инструкции копию этого файла:

window.resolveLocalFileSystemURI(sourceFile, onSuccess, onError); 

function onSuccess(fileEntry) { 
    var root = localStorage.rootPath;  //root : /Users/xcode/Library/Application Support/iPhone Simulator/6.0/Applications/2102E3A0-7F22-4C56-A693-EF3CF2A7620F/Documents/ 
    var parentName = root.substring(root.lastIndexOf('/')+1); 
    var parentEntry = new DirectoryEntry(parentName,root); 
    fileEntry.copy(parentEntry, "myPic.jpg", succ, fail); //this is where the problem occurs 
    } 

    function succ(entry){ 
     alert("copy"); 
    } 

    function fail(message){ 
     alert("fail"); 
    } 

    function onError(message){ 
     alert("fileFail"); 
    } 
} 

Адресат файла должно быть ROOTPATH ​​файлсистемы.

ответ

1

У меня есть. Функция имеет опечатку.
я должен был изменить

fileEntry.copy(parentEntry, "myPic.jpg", succ, fail); //this is where the problem occurs 

в

fileEntry.copyTo... 

глупую ошибку, не видел его. Теперь я могу копировать файлы из библиотеки камер в других каталогах.

+0

Привет, @marcel Вы можете отправить также свои варианты предпочтений ваших плагинов. Я все еще не могу это сделать. Мне нужна ваша помощь. Спасибо и с уважением – BizApps

0

Полный пример для будущего использования тех, кому это может понадобиться.

var destinationType = navigator.camera.DestinationType; 

navigator.camera.getPicture(
function(imageURI) { 
    window.resolveLocalFileSystemURI(imageURI, function fileEntrySuccess(fileEntry) { 
     window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function directoryEntrySuccess(directoryEntry) { 
      var d = new Date(); 
      var uniqueNewFilename = Date.parse(d) + ".jpg"; 
      fileEntry.moveTo(directoryEntry.root, uniqueNewFilename, function moveFileSuccess(newFileEntry) { 
       var picPath = newFileEntry.fullPath; 
       navigator.camera.cleanup(function(){}, function(){}); 
      }, function(){}); 
     }, function(){}); 
    }, function(){}); 
}, function(message) { 
    navigator.notification.alert(message, function(){}, 'Picture Not Added'); 
}, { 
    quality: 49, 
    allowEdit: true, 
    correctOrientation: true, 
    saveToPhotoAlbum: true, 
    destinationType: destinationType.FILE_URI 
}); 
Смежные вопросы