Problème:erreur d'URL non pris en charge pour une cdvfile: //
Dans mon application, je veux accéder à une image par cordova wkwebview. L'élément HTML ressemble à ceci. Pendant le chargement, l'erreur "Impossible de charger la ressource: URL non prise en charge" s'affiche pendant le chargement de cette ressource. Je travaille avec iOS 10.2.
choses vérifiées/essayé:
Si la liste des fichiers présents dans le « cordova.file.dataDirectory » sous le dossier « MonDossier » est cochée, je vois le « file.jpg » présente. Son URL native est file: ///var/mobile/Containers/Data/Application/app_id/Library/NoCloud/MyFolder/file.jpg.
J'ai ajouté "img-src 'self' cdvfile:" à la politique de sécurité du contenu.
J'ai ajouté suivant dans le config.xml
<access origin="cdvfile://*" />
<allow-navigation href="cdvfile://*" />
<allow-intent href="cdvfile://*" />
<preference name="iosPersistentFileLocation" value="Compatibility" />
<preference name="iosExtraFilesystems" value="library,library-nosync,documents,documents-nosync,cache,bundle,root" />
Il n'y a pas de caractères spéciaux (non-ASCII) dans l'URL comme mentionné dans les discussions relatives à cette erreur. Quoi d'autre pourrait être la raison de "URL non supportée" ?.
La façon dont j'accède à cdvfile: // chemin incorrect?
Mise à jour
Je suis tombé sur un lien (oublié de saisir que) en disant le WebView a besoin chemin relatif et donc cdvfile: // ne fonctionnerait pas. J'ai essayé de changer la source d'image en un chemin relatif en la changeant en "../../../../../../../../..//var/mobile/Containers/ Data/Application/app-id/Bibliothèque/NoCloud/MyFolder/file.jpg "et je pourrais maintenant voir une nouvelle erreur -" Impossible de charger la ressource: L'opération n'a pas pu être complétée Opération non autorisée "
I pourrait faire fonctionner l'image en "lisant" le contenu du fichier et en transmettant les données base64 comme source d'image. Mais ce n'est pas comme ça que ça devrait être, n'est-ce pas?
oui, l'accès à cdvfile: // chemin est une pratique incorrecte. parce que le navigateur ne comprend pas cdvfile: // protocole. –
Voulez-vous dire que la section https://cordova.apache.org/docs/fr/latest/reference/cordova-plugin-file/#cdvfile-protocol est incorrecte? – Amruta
Quelle est la bonne façon d'y parvenir? Dois-je lire les données dans le fichier et l'affecter à l'image en utilisant des données: //? – Amruta