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

ASP Discussion :

Problème de téléchargement


Sujet :

ASP

  1. #1
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut Problème de téléchargement
    Bonjour,

    Dans une appli intranet, je propose en téléchargement le contenu de certaines tables avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
        Dim i
        Dim sLine
    	Const DEF_EXPORT_SEP       = ";"
    	Const DEF_EXPORT_VAL       = """"
     
        ' Initialisation de l'entête HTTP
        Response.Buffer = TRUE
        Response.Clear
     
    		Response.ContentType = "application/msexel"
    		Response.addHeader "content-disposition","attachment;filename=Donnees.xls"
     
    	set m_RS = Server.CreateObject("ADODB.Recordset")
    	m_RS.open txtSQL, Application("DsnODBC")
        m_RS.MoveFirst
     
        ' Entête
        sLine = ""
        for i = 0 to m_RS.Fields.count - 1
            sLine = sLine & DEF_EXPORT_VAL & m_RS.Fields(i).Name & DEF_EXPORT_VAL & DEF_EXPORT_SEP
        next
        if sLine <> "" then
            sLine = Left(sLine, Len(sLine)-1)
            Response.Write sLine & vbCrLf
        end if
     
        ' Données
        Do while not m_RS.EOF
            sLine = ""
    	    for i = 0 to m_RS.Fields.count - 1
    			Valeur = Replace(m_RS.Fields(i).Value, vbcrlf, " ")
    			Valeur = Replace(m_RS.Fields(i).Value, "'", "''")
                sLine = sLine & DEF_EXPORT_VAL & Valeur & DEF_EXPORT_VAL & DEF_EXPORT_SEP
            next
            if sLine <> "" then
                sLine = Left(sLine, Len(sLine)-1)
                Response.Write sLine & vbCrLf
            end if
            m_RS.MoveNext
        Loop
    	m_RS.Close
    	set m_RS = Nothing
        Response.End
    Pour certaines tables (qui n'ont rien de particulier), j'obtiens ce message d'erreur :

    Internet Explorer ne peut télécharger....
    Selon le site de Microsoft, la cause est :
    Cause
    Ce problème se produit car l'en-tête de disposition de contenu (content-disposition) pour le flux de fichier est supérieur à 150 octets environ et le jeu de caractères latin est de 150 caractères. Il peut se produire si l'en-tête de disposition de contenu est mis en forme avec un jeu de caractères autre que le latin, comme le japonais ou le russe.
    Ce problème est-il contournable SVP ?

    Merci

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut pc75,

    Quelle version de navigateur?
    Y a-t-il bcp ou pas bcp de données?
    Y'a pas un "C" à Excel?
    Où est constitué les fichier "donnee.xls"?
    A ta place, je ne ferais aucun "response.write". Le fait d'ajouter du texte peux perturber le téléchargement.

    A+

  3. #3
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Salut et merci pour la réponse

    Citation Envoyé par Immobilis Voir le message
    Salut pc75,

    Quelle version de navigateur?
    Y a-t-il bcp ou pas bcp de données?
    Y'a pas un "C" à Excel?
    Où est constitué les fichier "donnee.xls"?
    A ta place, je ne ferais aucun "response.write". Le fait d'ajouter du texte peux perturber le téléchargement.

    A+
    - Navigateur => IE6

    - Volume => Dans la boucle où je gère les données, même si j'utilise un compteur pour n'afficher que le premier enregistrement => Erreur

    - Response.ContentType = "application/msexel" => fonctionne nickel avec la majorité des tables

    - donnees.xls => il est constitué à partir de l'objet response ( Response.addHeader "content-disposition","attachment;filename=Donnees.xls")

    As-tu essayé le bout de code que j'ai envoyé ?

  4. #4
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Malheureusement, j'ai pas pu tester.
    J'ai changé de boulot et j'ai plus de PC potable pour développer à la maison... Snif...
    J'utilise un script qui marche plutôt bien pour le téléchargement: ici.
    Il y a qqs différences. Je me demande si "Response.Flush" plustôt que "Response.End". Encore que ni l'un ni l'autre ne soit rééllement nécessaire, non?
    Sinon "Donnees.xls" correspond-il à un fichier réél?

    A+

  5. #5
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Merci de ta réponse, mais j'ai trouvé la cause de l'erreur.

    Le méthode que j'utilise n'accepte pas les valeurs nulles. J'ai ajouté dans la clause WHERE => AND LeChamp Is Not Null et ça passe.

    Merci Bill pour les messages d'erreur explicites !

  6. #6
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Envoyer des enregistrements vers un fichier xls
    Salut PC75, Salut Immobilis,

    Bonne et heureuse année 2008.

    beegees

  7. #7
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Toi aussi

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

Discussions similaires

  1. [problèmes de téléchargement]NSIS Error
    Par johon03 dans le forum Windows XP
    Réponses: 4
    Dernier message: 23/10/2006, 23h35
  2. Problème de téléchargement avec Windows XP pro
    Par bernard38 dans le forum Windows XP
    Réponses: 7
    Dernier message: 01/03/2006, 10h10
  3. [php-header] problème header téléchargement
    Par nigiri dans le forum Langage
    Réponses: 2
    Dernier message: 06/02/2006, 16h16
  4. Problème forcer téléchargement fichier
    Par cams dans le forum Langage
    Réponses: 34
    Dernier message: 15/12/2005, 17h42
  5. Réponses: 5
    Dernier message: 05/11/2005, 18h53

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