Wie Sie Zugang zu Bild-von native URI (Aktiva-Bibliothek) in Cordova für iOS
Ich habe eine Cordova - /PhoneGap-app nutzt die Kamera, um ein Foto. Ich brauche Zugriff auf das zu sendende Bild auf meinen server.
Für Android-ich einfach verwenden $cordovaFile.readAsDataURL(cordova.file.dataDirectory, fileName)
Aber auf iOS die mit dem Namen nicht wieder als solche. Meine Rückgabewert für iOS zeigt den Weg, wie
Vermögenswerte-Bibliothek://asset/asset.JPG?id=539425FE-43AA-48E7-9865-D76348208AC7&ext=JPG
Wie kann ich Zugriff und Lesen Sie dieses Bild? Am Liebsten würde ich mit dem stick $cordovaFile sondern wollen einfach nur, um es an die Arbeit.
Ich bin mit CordovaCameraPreview plugin und das beste, ich kann wieder aus dem picture-taker-handler scheint etwas zu sein, gebildet ähnlich:
Vermögenswerte-Bibliothek://asset/asset.JPG?id=990355E1-200A-4E35-AAA1-7D461E3999C8&ext=JPG
Vermögens-Bibliothek://asset/asset.JPG?id=C49FF0EB-CCCB-45B2-8577-B13868D8DB29&ext=JPG
Wie kann ich die konvertieren dass es sich hierbei um einen Dateinamen und-Pfad, Lesen kann ich mit $cordovaFile? Entsprechend Ihrer Dokumentation (http://ngcordova.com/docs/plugins/file/) es sieht aus wie ich benötigen, um einen Ihrer Pfade für die Datei-System-Layout. Es funktioniert gut auf Android mit cordova.Datei.dataDirectory aber kann nicht herausfinden, wie Zugriff auf iOS
Habe ich auch versucht, mit Hilfe window.resolveLocalFileSystemURL(path)
aber bin immer undefined als mein Ergebnis.
Update
Ich das Gefühl, ich bin näher... mit window.resolveLocalFileSystemURL(path,resolveOnSuccess, resOnError);
ich weitere Informationen erhalten
name: "assets-library"
fullPath: "/asset/asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG"
name: "asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG"
nativeURL: "assets-library://asset/asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG"
Sieht es aus wie ich jetzt brauchen, um die Nutzung fullPath aber noch nicht herausfinden können, wie der Zugriff mit $cordovaFile
Wenn ich versuche, mit $cordovaFile.readAsDataURL(cordova.file.dataDirectory, data.name)
wo Daten.name ist asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG bekomme ich einen file not found error
Update 2
Habe ich versucht, mit jedem einzelnen File System Layout zur Verfügung zu http://ngcordova.com/docs/plugins/file/ und erhalten die gleiche Datei Nicht Gefunden " - Fehler auf jeden. Immer noch keine Ahnung, wie Sie auf eine Datei in der assets-Bibliothek, die mit $cordovaFile
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich war kämpfen mit einem ähnlichen Problem für eine Weile, aber ich fand es heraus heute. Ich dachte auch, dass die Dateisystem-APIs hat nicht funktioniert mit
assets-libary://
URIs-aber das ist nicht der Fall.Sollten Sie in der Lage sein, um Zugang zu den Datei - Objekt (sowie die eigentlichen Bild-name) mit dem folgenden code:
fileEntry.toInternalURL()
Hatte ich Erfolg mit einer einfachen substitution, wie dies
Funktioniert es in iOS 9.3
<img>
tag. Es funktioniert perfekt mit Cordova-iOS <4 aber da Cordova 6 / Cordova-iOS 4 funktioniert es nicht mehr. Mit Ihrem code, ist alles wieder normal. 🙂$compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|file|blob|cdvfile|content):|data:image/);
in der Aufbauphase des app, um das anzeigen der Bilder direkt auf der Ansicht