2016-12-07 3 views
0

Récemment, j'ai compris que je ne pouvais plus télécharger de photos et de vidéos depuis mon application (iOS). Après enquête, la fonction window.resolveLocalFileSystemURL échoue toujours et renvoie {"code": 5}. Cependant, cela a bien fonctionné jusqu'à récemment et je ne rencontre pas ce problème avec Android. Mon code est le suivant:window.resolveLocalFileSystemURL renvoie le code 5

$('#take_picture').click(function(){ 
    navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 60, destinationType: Camera.DestinationType.FILE_URI, correctOrientation: true, targetHeight: 621, targetWidth: 621 }); 
}); 
$('#take_video').click(function(){ 
    var options = { limit: 1, quality: 0, duration: 10 }; 
    navigator.device.capture.captureVideo(onCaptureSuccess, onCaptureFail, options); 
}); 

function onCaptureSuccess(mediaFiles) { 
    var i, len; 
    for (i = 0, len = mediaFiles.length; i < len; i += 1) { movePic(mediaFiles[i].fullPath); } 
} 

function onPhotoDataSuccess(imageURI) { 
    if (device.platform == 'iOS') { file = file.replace('/private/', 'file:///'); } 
    movePic(imageURI); 
} 
function movePic(file){ 
    window.resolveLocalFileSystemURL(file, resolveOnSuccess, function(data){ alert(JSON.stringify(data)); }); 
} 

Le fichier variable est comme fichier: ///var/mobile/Containers/Data/Application/UID/tmp/cdv_photo_021.jpg

Savez-vous ce que dois-je faire pour le faire fonctionner?

+0

Etes-vous en train d'écrire dans le répertoire de votre application? Si oui, je ne suis pas sûr que vous pouvez le faire: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/#ios-file-system-layout –

+0

Merci pour votre commentaire . En fait cela a bien fonctionné avant et selon la page que vous mentionnez le dossier/tmp/est écrit. – Pierre

+0

Les heures où j'ai reçu la zone d'encodage sont généralement en essayant d'écrire dans un dossier dans lequel je ne peux pas écrire. Je suggère d'essayer d'écrire le fichier ailleurs pour tester cette théorie –

Répondre

0

Enfin, j'ai complètement désinstallé/réinstallé Phonegap, mis à jour Cordova-ios et maintenant ce problème est résolu, même sans modifier aucune ligne de code.