Bonjour,
je suis en train de développer une application mobile cross-plateform avec le framework ionic.
Je rencontre un problème lorsque je souhaite récupérer des images depuis l'api que j'appelle.
Les images sont envoyées avec un Content-Type: application/octet-stream
.
J'utilise le plugin cordova-file-plugin pour créer le dossier de destination des images et pour écrire les images dans ce dossier.
Pour les récupérer, voici ce que je fait:
$http.post(test.serverUrl + test.urlDownloadImage, {file: '5.jpg'}, {params: {file: '5.jpg'}}).then(function success(response) {
if (response.data.length > 0) {
$cordovaFile.writeFile(cordova.file.externalApplicationStorageDirectory + IMAGE_PATH, '5.jpg', response.data, true).then(function (success) {
$scope.test = success;
console.log('WriteFile success: ' + success);
}, function (error) {
console.log('WriteFile err:' + error.code);
});
}
}, function error (response) {
console.log('Download Provider img KO: ' + response.data);
});
Je n'obtiens pas d'erreurs lors de la création du dossier et du fichier.
Voici ce que j'obtiens lorsque je "debug" success
:
{
"type":"writeend",
"bubbles":false,
"cancelBubble":false,
"cancelable":false,
"lengthComputable":false,
"loaded":0,
"target":{
"fileName":"",
"length":326493,
"localURL":"cdvfile://localhost/sdcard/Android/data/app-id/Pictures/Providers/5.jpg",
"position":326493,
"readyState":2,
"result":null,
"error":null,
"onwritestart":null,
"onprogress":null,
"onwrite":null,
"onabort":null,
"onerror":null
}
}
Le fichier jpg est bien créé dans le bon répertoire mais lorsque j'essaie de l'ouvrir (sous windows), j'ai une erreur comme quoi le fichier est trop volumineux ou corrompu...
J'avoue qu'au niveau de la doc fournie, c'est très pauvre donc je me tourne vers vous pour voir si vous avez une solution...
Merci d'avance,
Romain