IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Ouverture/Chargement d'un fichier locale : blocked by CORS policy


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Ouverture/Chargement d'un fichier locale : blocked by CORS policy
    Bonjour à tous, et merci pour l'aide que j'ai pu recevoir, par le passé, en lisant les réponses des experts de cette communauté sur d'autres postes.

    J'aimerai vous demander de l'aide au sujet du chargement de fichiers locaux (sur mon disque dur) dans un fichier java script.
    J'ai eu ce problème récemment sur deux projets différents (pas auparavant car pas assez d'expérience, étudiant en licence ...).
    - Dans mon premier projet, j'ai un fichier .json, qui contient donc des données json, et je souhaite les charger dans mon fichier javascript pour manipulation.

    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        let requestURL = 'json/wikicode_languages.json';
        let request = new XMLHttpRequest();
        request.open('GET', requestURL, true);
        request.responseType = 'json';
        request.send();
        request.onload = function() {
            let languages = request.response;
            create_menu(state, languages);
        }
    - Dans mon second projet, j'ai un fichier image, que je souhaite charger dans mon fichier java script pour la manipuler dans un canvas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      pipeBodySprite = loadImage('graphics/pipe_marshmallow_fix.png');
      pipePeakSprite = loadImage('graphics/pipe_marshmallow_fix.png');
      birdSprite = loadImage('graphics/train.png');
      bgImg = loadImage('graphics/background.png');
    Et dans les deux cas je me mange un :
    filename:line Access to XMLHttpRequest at 'file:///...path...' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

    Ce message est pour le premier projet avec le json, mais pour l'autre c'est pareil sans le XMLHttpRequest.

    Comme indiqué dans ce message d'erreur, CORS policy ne fonctionne qu'avec http, data, chrome, chrome-extension, https alors que moi je tente un accès à un fichier locale file:/// donc j'ai une "origin 'null'" donc il est pas content (en gros si j'ai bien compris ?)
    Ce que j'ai pu lire en cherchant car ça fait une paire de jours que je cherche, il faut que j'héberge mes fichiers pour les récupérer avec un chemin ressemblant à https://...path...
    Le problème c'est que je veux pas. *TETU* Mais j'aimerais bien trouver une solution une vrai,
    En fait mes fichier sont bien rangé dans des dossiers propres, eux même dans le même dossier que mon fichier html. Pourquoi dois-je les séparer ?
    Le deuxième projet n'est pas de moi je l'ai récupérer sur GitHub de "TheCodingTrain" (chaîne you tube), et ça marche pour lui mais quand je télécharge l'archive et que j'ouvre le html avec chrome : CORS policy bla bla bla ...

    Deuxième piste, j'ai vu sur développer.chrome.com ( https://developer.chrome.com/apps/xhr ) qu'on pouvait demander l'accès à chrome en ajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    {
      "name": "My extension",
      ...
      "permissions": [
        "https://www.google.com/"
      ],
      ...
    }
    à la section permission du fichier manifeste ... Mais de quoi s'agit-il ??

    Voilà je pense avoir fait le tour. Je pense avoir cherché partout où je pouvait ... Si vous avez, même un piste, un liens, un cours, je suis preneur.
    Désolé si ça parait triviale, ça fait trois ans que j'étudie en informatique j'ai toujours trouvé d'habitude mais là je sèche.

    Désolé pour le ROMAN j'ai préféré être long et précis que l'inverse.

    Merci d'avance pour vos retours,
    Respectueusement,

    Bouquelou

  2. #2
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 608
    Points
    19 608
    Par défaut
    Citation Envoyé par bouquelou Voir le message
    Ce que j'ai pu lire en cherchant car ça fait une paire de jours que je cherche, il faut que j'héberge mes fichiers pour les récupérer avec un chemin ressemblant à https://...path...
    Le problème c'est que je veux pas. *TETU* Mais j'aimerais bien trouver une solution une vrai,
    En d'autres termes, tu écris un site web, mais tu veux pas l'héberger sur le web mais sur ton filesystem perso à toi.

    Avoue que c'est quand même un peu bizarroïde non ?

    EDIT : Tout ça n'a aucun rapport avec TypeScript, je transfère dans la section générale.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Merci pour le déplacement !
    En fait je crée ce site web pour m'entraîner/apprendre, donc je n'ai pas envie de mettre de l'argent pour le faire héberger :/

  4. #4
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 872
    Points : 3 716
    Points
    3 716
    Par défaut
    Salut,

    On a déjà vu plusieurs fois ce problème dans ce forum, alors je pense que tu peux régler ce problème en utilisant un serveur local (il en existe plusieurs prêt à être utiliser ou bien tu utilises un éditeur (comme VS Code, Bracket, cloud9...) pour lancer ta page avec un serveur local...

    Sinon plus simple tu lances ton navigateur avec certaines options mais je ne sais pas si cela marche encore aujourd'hui (avec les nouvelles versions), par exemple tu peux essayer de lancer Chrome avec l'option : -allow-file-access-from-files

    Tu peux faire un raccourcis à part avec cette option pour éviter de tout retaper à chaque fois dans une ligne de commande...

Discussions similaires

  1. [WebBrowser]Chargement d'un fichier local
    Par Clemsgc dans le forum Windows Forms
    Réponses: 0
    Dernier message: 09/07/2009, 17h41
  2. getRessource() d'un fichier local depuis un JAR
    Par romaintaz dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 03/08/2005, 13h11
  3. [Debutant][D7]Pb au chargement d'un fichier *.3ds
    Par [Silk] dans le forum OpenGL
    Réponses: 1
    Dernier message: 26/06/2005, 12h10
  4. [SAX] Chargement d'un fichier de paramétrage
    Par doublep dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 05/12/2004, 21h42
  5. chargement d'un fichier externe en base de données
    Par samsbike dans le forum Administration
    Réponses: 3
    Dernier message: 24/08/2004, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo