"Nicht erlaubt zu laden, auf lokale Ressourcen" für die Lokale Bild von der Remote-Seite in PhoneGap Build
Ich bin hosting meine Webseiten für eine phonegap-build-app.
Ich würde gerne die Kamera verwenden, um ein Foto hochzuladen, und zeigen Sie eine Vorschau des Bildes, im Grunde, dies zu tun:
<img src="file:///storage/emulated/0/Android/data/com.myapp.myapp/cache/1470418568917.jpg" height="500" />
Weil meine Seiten gehostet sind, bin ich immer diese Fehlermeldung:
Nicht erlaubt zu laden, auf lokale Ressourcen: file:///storage/emulated/0/Android/data/com.myapp.myapp/cache/1470418568917.jpg" Quelle: https://www.myapp.com/v5.5/imager.html#
Ich gehe davon aus, dass dies einige CORS problem, also ich habe dies nur Hinzugefügt, um den html-Code der Seite
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; media-src *; img-src * filesystem: data:">
und diese auf meine config.xml (ich bin mit Phonegap Build)
<plugin name="cordova-plugin-whitelist" source="npm" />
<allow-navigation href="*" />
<allow-navigation href="*://*/*" />
<allow-navigation href="file:///*/*" />
<allow-navigation href="http://*/*" />
<allow-navigation href="https://*/*" />
<allow-navigation href="data:*" />
<allow-intent href="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<access origin="*" />
<access origin="*://*/*" />
<access origin="file:///*" />
<access origin="cdvfile://*" />
<access origin="content:///*" />
Wie Sie sehen können ich habe versucht, jede Einstellung, die ich an denken kann, von scheuern im web.
Übersehe ich etwas offensichtliches?
Vielen Dank im Voraus.
InformationsquelleAutor Nico Westerdale | 2016-08-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
OK endlich einen workaround, das ist zum konvertieren der Datei:///URI, der zu einem cdvfile://- URI, der meine Seite nur meckert ist ein mixed-content-Warnung und lässt mich zugreifen!
Wäre noch schön zu haben, ein richtiger Weg, auf file:///- URIs, ich sehe den Fällen, wo dies nicht funktionieren würde, aber für das, was ich hier mache, ist gelöst.
dies führt zu "nicht-url" - Fehler mit
cordova-file-plugin
im xcode-simulator auf osxInformationsquelleAutor Nico Westerdale
Etwas hier zu beachten für zukünftige Benutzer, die führen Sie in diesem, sicher sein, Sie sind NICHT im 'Live-Reload" - Modus, wenn die Prüfung eine Funktion wie diese. Live Reload wird im Ergebnis der gleiche Fehler-Meldung, das ist klar irreführend. Nach dem Bau von w/o-live-reload funktioniert alles Prima für mich, mit dem file:/ODER cdv:/path.
Dieser funktioniert! Dies ist definitiv die richtige Antwort.
InformationsquelleAutor Nicholas Kreidberg
Habe ich vor kurzem konfrontiert gleiche Problem. Scheint, dass, cordova, ios app läuft auf localhost:8080 intern, dies ist Hauptgrund, warum Sie es nicht erlauben das laden von Dateien von "file://" - Protokoll.
easy fix - "var workingPath = Fenster.Ionisch ist.normalizeURL(givenPath)";
Bitte Lesen Sie den Artikel von IONIC - https://ionicframework.com/docs/wkwebview/
Es hat mir geholfen, aber ich bin mit Ionic-1.
das wichtigste ist, dass erklärt den Grund, warum dies geschieht. und wie fix es im Allgemeinen.
Schließlich löste mein Problem mit den Dateien auf iOS
Danke, ich habe alles versucht und das problem behoben wurde "var workingPath = Fenster.Ionisch ist.normalizeURL(givenPath)" ... btw, ich bin auf der Ionischen 1.
InformationsquelleAutor Vladyslav Goloshchapov
Ich arbeiten war ionic3 app und testen Sie die Konsole mit chrome inspector. Ich war auch laufen und die Emulation mit der --livereload Flagge, war Es nicht angezeigt Bild nicht auf dem emulator noch auf einem echten Gerät.
Ich gehe zu Den oben genannten link und importiert das Modul
import { normalizeURL } aus 'ionic-Winkel';
auf der Erfolgs-callback auf mein Bild-capture-Funktion, ich ging den Weg, wie dieses und es funktionierte wie ein Charme.
Nach der Untersuchung ein bisschen mehr, fand ich heraus, dass es ist, weil der --livereload-Flag, ich entfernt das flag von Befehl starten Sie das Programm mit dem folgenden Befehl ein, und zeigt seine Bild jetzt:
ionic cordova run android
InformationsquelleAutor ImFarhad
Meine Lösung war das entfernen
cordova-plugin-ionic-webview
von der plugins-ListeInformationsquelleAutor rashidnk
Dieser arbeitet mit ionic-3 und Sie können unten verwenden um das Problem zu beheben, für Nicht zulässig zu laden lokale resourse
Zuerst legen Sie diese Dinge im Haus.ts
Dann jetzt in der Ansicht home.html unten Dinge
InformationsquelleAutor Alok Singh