Phonegap Build: download-Bild in einem der Ordner der app
Ich bin in der Lage, ein Bild downloaden, wenn ich hier direkt den Pfad angeben mit
file:///storage/sdcard0/
Wie kann ich eine Sicherung auf meinem einen Ordner in meine app ? Ich habe versucht, diese Ansatz setzen app Weg, aber es funktioniert nicht für mich.
Dies ist, was ich mit so weit und es funktioniert, wenn Sie speichern möchten, und Bild, um 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);
}
);
Wenn ich mit dieser Funktion:
function getPhoneGapPath() {
'use strict';
var path = window.location.pathname;
var phoneGapPath = path.substring(0, path.lastIndexOf('/') + 1);
return phoneGapPath;
}
Bekomme ich /android_asset/www/. Wie kann ich den korrekten Pfad zu meiner app?
Ist die app mit AngularJS und ist nicht bootstrapped in onDeviceReady (Entwickler vor mir gemacht, und jetzt ändern Sie es zu etwas wie diese ist mir schleierhaft (habe versucht, aber hat nicht funktioniert)).
Anderen Frage kann ich entnehmen war, fragte hier.
Ich habe auch versucht diese, diese, diese und diese aber keine für mich gearbeitet. Ich bekomme "" fullPath und vor kurzem habe ich es geschafft, den Pfad gedruckt .toURL() und es war "cdvfile://localhost/persistent". Die oben genannten download-code funktioniert jetzt auch, wenn ich
filePath = "cdvfile://localhost/persistent/MyAppID/uploads/myImage.png";
aber das schafft Ordner /MyAppID/uploads /storage/sdcard0, die ist wieder schlecht. Meine app braucht, um auf Bilder mit
<img src="uploads/myImage.png" alt="myimg"/>
Anderen nützlichen link ist hier aber es bietet keine Hilfe, wie Sie schreiben, bereits erstellten Ordner eigene app.
EDIT: soweit ich gelernt habe, Sie können nicht schreiben, innerhalb Ihrer eigenen Anwendung(nur Lesen). Deshalb habe ich versucht, die Referenz-Bilder von der sdcard mit
<img src="file:///storage/sdcard0/Android/data/com.app.my/cache/myImage.png" alt="myimg"/>
- und das funktioniert! 🙂 Das ist leider hardcoded und nicht gut ist, da andere Telefone, kann einen anderen persistenten Speicherort.
Wenn ich versuche
<img src="cdvfile://localhost/persistent/Android/data/com.app.my/cache/myImage.png" alt="myimg"/>
diese nicht auf dem Bild :/(tut es herunterladen auf storage/sdcard0/Android/data/com.app.meine/cache/obwohl)
InformationsquelleAutor trainoasis | 2014-06-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soweit ich das gelernt, Sie können schreiben Sie Ihre eigene app (ändern Elemente in Ihrem app - /www-Ordner auf Android).
Meine Lösung war, um Bilder speichern in den PERSISTENTEN Speicher (sdcard in der Regel).
Sie können den Pfad zu Ihrem app-persistent-storage mit diesen Schritten:
Dann innerhalb gotFS Erfolgs-callback
und in onResolveSuccess
und jetzt in continueCustomExecution() können Sie das Programm und tun, was Sie tun ... und in diesem Fall laden Sie Bilder in appCachePath, die wir haben früher. Sie können jetzt erfolgreich eine Referenz-Bilder im src-tags mit unseren appCachePath+yourImageName.
Leider weiß ich noch nicht wie man ein Bild downloaden erfolgreich auf iOS. Bekomme ich die Fehlermeldung: code 1 mit FileTransfer-plugin ... (speichern-file:///var/mobile/Applications/meine.app.id/Dokumente/). Wahrscheinlich sollte sparen Sie woanders, aber dies ist der Weg, den ich bekommen beim anfordern von PERSISTENTEN Dateisystem.
Cheers
Wie machst du das? mit XHR zum herunterladen von audio-und Bild-Datei. Beispiel bitte
InformationsquelleAutor trainoasis
Ich würde verwenden Sie den Ordner-alias, wie in der plugin-docs, die hier (https://github.com/apache/cordova-plugin-file/blob/master/doc/index.md). Speziell cordova.Datei.dataDirectory. Beachten Sie, dass dies ist nicht, afaik, unter dem www-von Ihrem ursprünglichen Projekt, aber es scheint zu sein, die am günstigsten gelegene Ort zum speichern von downloads. Einmal dort gespeichert, können Sie beschließen, auf eine URL, die Sie verwenden, zu laden über AJAX, oder in einem img-tag, wenn Sie das herunterladen von Grafiken.
Hinzugefügt Sie das Dateisystem-plugin, richtig?
Wenn du meinst <Kluft:plugin name="org.apache.cordova.Datei" /> dann ja, habe ich...
Sind Sie mit PhoneGap Build gehen, oder lokal?
PhoneGap Build, ja
InformationsquelleAutor Raymond Camden