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?
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 –
Merci pour votre commentaire . En fait cela a bien fonctionné avant et selon la page que vous mentionnez le dossier/tmp/est écrit. – Pierre
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 –