Phonegap Build: Laden Sie das Bild in einen der Ordner Ihrer App herunter

Ich kann ein Bild herunterladen, wenn ich den Pfad direkt mit spezifiziere

file: /// storage / sdcard0 /

Wie kann ich ein Bild in einem der Ordner meiner App speichern? Ich habe es versuchtdiese Ansatz, um App-Pfad festzulegen, aber es funktioniert nicht für mich.

Dies ist, was ich bisher benutze und es funktioniert, wenn Sie speichern und Bild auf SD-Karte:

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); 
    }  
); 

Wenn ich diese Funktion benutze:

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

Ich bekomme / android_asset / www /. Wie erhalte ich den richtigen Pfad zu meiner App?

Die App verwendet AngularJS und ist nicht in onDeviceReady gebootet (Entwickler vor mir haben es so gemacht und jetzt in so etwas wie geändert)diese ist mir ein Rätsel (ausprobiert, hat aber nicht funktioniert).

Eine andere Frage, auf die ich mich beziehen kann, wurde gestelltHier.
Ich habe es auch versuchtdiese, diese, diese unddiese aber keiner hat für mich gearbeitet. Ich habe "" für fullPath bekommen und kürzlich habe ich es geschafft, den Pfad mit .toURL () zu drucken und es war "cdvfile: // localhost / persistent".Der obige Download-Code funktioniert jetzt auch, wenn ich benutze

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

Dies erstellt jedoch den Ordner / MyAppID / uploads in / storage / sdcard0, was wiederum fehlerhaft ist. Meine App muss Bilder mit bekommen

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

Ein weiterer nützlicher Link istHier Es bietet jedoch keine Hilfe zum Schreiben in einen zuvor erstellten Ordner Ihrer eigenen App.

BEARBEITEN: Soweit ich weiß, können Sie nicht in Ihrer eigenen App schreiben (schreibgeschützt). Deshalb habe ich versucht, Bilder von der SD-Karte mit zu referenzieren

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

und das funktioniert! :) Leider ist dies fest codiert und nicht gut, da andere Telefone möglicherweise einen anderen dauerhaften Standort haben. Wenn ich es versuche

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

Dies bezieht sich nicht auf das Bild: / (es lädt es im Speicher herunter / sdcard0 / Android / data / com.app.my / cache / though)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage