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 :

Forcer le téléchargement d'un fichier


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 121
    Points : 65
    Points
    65
    Par défaut Forcer le téléchargement d'un fichier
    Bonjour à tous,

    Suite à ce bout de code, le navigateur affiche un fichier texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.location='<?php echo $repo_extraction.$fileNAME ?>' ;
    Je voudrais forcer le téléchargement, aussi j'ai ajouté type="actet-stream" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.location='<?php echo $repo_extraction.$fileNAME ?> type="octet-stream"' ;
    Mais le serveur me retourne une erreur de droits :
    You don't have permission to access /sites/csdw/repo_extractions/FC1_20100101_20100301_ALL.125 type="octet-stream" on this server.
    (je précise que tout le monde possède les droits en lecture)

    Ayant déjà bien cherché, je n'ai trouvé aucune solution ; auriez-vous des idées ?

    Merci.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Bonjour,

    Comment déclenches-tu l'appel à ton téléchargement ?
    Si c'est à la suite d'un clic sur un lien, tu peux mettre le fichier comme cible du dit lien...

    devyan

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    la seule façon de forcer un téléchargement coté client est de proposer un fichier compressé .zip
    sinon ça se passe coté serveur ...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 121
    Points : 65
    Points
    65
    Par défaut
    @devyan : imaginons que cela se passe de cette manière.
    Mon fichier est du texte non formaté ; aussi le navigateur va l'afficher. Et justement, je ne voudrais pas cela : juste une boîte de dialogue m'invitant à enregistrer mon fichier sur mon disque dur.

    @SpaceFrog : "sinon ça se passe coté serveur ..." pourrais-tu m'en dire un peu plus ?

    De manière générale une fonction AJAX lance un script PHP qui va fabriquer un fichier.
    Ensuite le script retourne à la fonction AJAX un signal positif.
    A la réception de ce signal, je demande à la fonction AJAX de me faire un window.location='url_de_mon_fichier'

    Et donc, le problème est que le navigateur interprète ce fichier.

    Merci à tous.

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 121
    Points : 65
    Points
    65
    Par défaut
    Je vais essayer de me débrouiller avec ça.
    En plus, je découvre cette faq PHP : que du bonheur !

    Merci SpaceFrog.

  7. #7
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    tu fais un script php download.php
    ui prend comme paramètre file le nom du fichier

    utilise head pour envoyer les header de téléchargement
    puis readfile pour envoyer le fichier
    dans ton js tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.location=download.php?file='<?php echo $repo_extraction.$fileNAME ?>' ;
    A+JYT

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 121
    Points : 65
    Points
    65
    Par défaut
    C'est en gros ce que j'ai fait :
    j'ai déplacé le window.locataion dans un autre fichier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/06/2007, 15h27
  2. Réponses: 2
    Dernier message: 30/05/2006, 15h07
  3. Comment forcer le téléchargement d'un fichier avec IE.
    Par karibouxe dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 24/05/2006, 11h51
  4. forcer le téléchargement - problème ouverture fichier
    Par grinder59 dans le forum Langage
    Réponses: 8
    Dernier message: 09/03/2006, 15h59
  5. [Configuration] problème pour forcer le téléchargement d'un fichier
    Par All Bran dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 02/01/2006, 16h23

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