Phonegap Build: faça o download da imagem em uma das pastas do seu aplicativo

Posso fazer o download de uma imagem se especificar o caminho diretamente com

arquivo: /// storage / sdcard0 /

Como posso salvar uma imagem em uma das pastas do meu aplicativo? eu tenteiesta abordagem para definir o caminho do aplicativo, mas não funciona para mim.

Isto é o que eu estou usando até agora e funciona se você deseja salvar e criar uma imagem no sdcard:

var fileName = "myImage.png";  
var fileTransfer = new FileTransfer();

var uri = encodeURI("http://my.url.to.image/myImage.png");   

var filePath = "file:///storage/sdcard0/uploads/myImage.png";

fileTransfer.download(
    uri,
    filePath,
    function(entry) {
        alert("download complete: " + entry.fullPath);
        console.log("download complete: " + entry.fullPath);
    },
    function(error) {  
        alert("download error source/target/code:\n" + error.source +" \n||| "+error.target+" \n||| "+error.code);
     console.log("download error source/target/code " + error.source+" / "+error.target+" / "+error.code); 
    }  
); 

Se eu usar esta função:

function getPhoneGapPath() {
    'use strict';
    var path = window.location.pathname;
    var phoneGapPath = path.substring(0, path.lastIndexOf('/') + 1);
    return phoneGapPath;
}

Recebo / android_asset / www /. Como obteria o caminho correto para o meu aplicativo?

O aplicativo está usando o AngularJS e não é inicializado no onDeviceReady (o desenvolvedor antes de mim fez isso dessa maneira e agora o altera para algo comoesta está além de mim (tentei, mas não funcionou)).

Outra pergunta a que me refiro foi feitaaqui.
Eu também tenteiesta, esta, esta eesta mas nenhum funcionou para mim. Eu recebi o "" fullPath e recentemente consegui imprimir o caminho com .toURL () e era "cdvfile: // localhost / persistent".O código de download acima agora também funciona se eu usar

filePath = "cdvfile://localhost/persistent/MyAppID/uploads/myImage.png";

mas isso cria a pasta / MyAppID / carrega em / storage / sdcard0, o que é ruim novamente. Meu aplicativo precisa acessar imagens com

<img src="uploads/myImage.png" alt="myimg"/>

Outro link útil éaqui mas não oferece ajuda sobre como gravar na pasta pré-criada do seu próprio aplicativo.

EDITAR: Tanto quanto eu aprendi, você não pode escrever em seu próprio aplicativo (somente leitura). Por isso, tentei referenciar imagens do sdcard com

<img src="file:///storage/sdcard0/Android/data/com.app.my/cache/myImage.png" alt="myimg"/>

e isso funciona! :) Infelizmente, isso é codificado e não é bom, pois outros telefones podem ter um local persistente diferente. Se eu tentar

<img src="cdvfile://localhost/persistent/Android/data/com.app.my/cache/myImage.png" alt="myimg"/>

isso não faz referência à imagem: / (faz o download em storage / sdcard0 / Android / data / com.app.my / cache / embora)

questionAnswers(2)

yourAnswerToTheQuestion