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.NET Discussion :

control de téléchargement


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 147
    Par défaut control de téléchargement
    Bonjour et meilleurs voeux,
    je suis en train de développer un site asp dans lequel des fichiers seront téléchargeable. Mais je sais pas très bien comment m'y prendre. J'ai écrit un code qui télécharge bien mon fichier, mais ne propose pas de répertoire ou le sauvegarder. J' ai répêcher sur le net un code pour faire ça mais je n'arrive pas à relier les deux.

    mon code:
    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
         ResourceManager rm = new ResourceManager("Resources.Resource", Assembly.Load("App_GlobalResources"));
            Byte[] tab = (Byte[])rm.GetObject("setup");
     
            using (FileStream file = new FileStream("setup.exe", FileMode.Create))
            {
                for (int i = 0; i < tab.Length; i++)
                {
                    file.WriteByte(tab[i]);
     
                }
     
                filInfo = new FileInfo(file.Name);
                lenght = file.Length;
     
            }
    code( que je comprends pas) qui est sensé permettre un bon téléchargemnt.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      Page.Response.Clear();
            Page.Response.AppendHeader("Content-Disposition", "attachement;FileName=" + filInfo.Name);
            Page.Response.AppendHeader("Content-Lenght", lenght.ToString());
            Page.Response.ContentType = "application";
     
            Page.Response.WriteFile(filInfo.FullName);
            Page.Response.End();
    Je ne sais pas non plus si mettre mes fichiers téléchargeable dans les resources est la bonne méthode, ni si la gestion de la concurrence ne va pas poser pb.

    Pour toutes lumières , merci

  2. #2
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Salut,

    jai pas bien compris ce que tu voulais faire.

    Si tu veux "envoyer" un fichier à l'utilisateur pour qu'il le telecharge sur sa machine, tu dois utiliser le code suivant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    fileName = "MonFichier.txt";
    filePath = "./DossierFichiers";
     
     
    Response.ContentType = "application/x-msdownload";
    Response.AppendHeader("Content-Disposition", "attachment; filename="+fileName);
    Response.TransmitFile(filePath + "/"+fileName);
    Response.End();
    filePath est le path permettant sur ton serveur d'acceder au fichier.

    Si tu veux recupérer un fichier que t'envoie un utilisateur, c'est plutot du coté du fileUpload

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 147
    Par défaut
    Merci pour ta réponse,
    oui c'est bien ça que je veux faire.Et tu mets ce code, brut dans un bouton?
    Parce que j'ai un problème, j'obtient l'erreur:
    ft JScript runtime error: Sys.WebForms.PageRequestManagerParserErrorException: Impossible d'analyser le message reçu du serveur. Cette erreur peut avoir plusieurs causes possibles*: réponse modifiée par des appels à Response.Write(), filtres de réponse, HttpModules ou activation de trace du serveur.
    Détails*: Erreur d'analyse à proximité de 'Download Control v1.'.
    Alors je ne sais pas si c'est une erreur de path: j'ai pris un fichier texte installation.txt que j'ai mis à la racine de mon site et j'ai donc mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    filename= "installation.txt";
    path= "./";
    Suis-je bon?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 147
    Par défaut
    Alors, ca a bien l'air d'être une erreur de path...Concrètement je ne comprends pas où est-ce que je dois mettre les fichiers que je veux proposer au téléchargement, aussi bien en mode debug sur ma machine de développement que plus tard, une fois sur l'hébergeur.
    Pour l'instant, je l'ai mis à la racine de ma solution.
    J'ai l'impression qu'il me manque un "rootpath" pour y accéder.
    merci pour toutes aides

  5. #5
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Si a la racine de ton site, tu as un repertoire monRep, dans ta page, il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //Recuperation du chemin
    string monPath = Server.MapPath("monRep/");
    //Utilisation d'un fichier
    System.IO.File.Exists(monPath  + "fichier.txt");
    a+

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 147
    Par défaut
    Alors je progresse, mais ça marche toujours pas

    ce code
    Code :
    //Recuperation du chemin
    string monPath = Server.MapPath("monRep/");
    //Utilisation d'un fichier
    System.IO.File.Exists(monPath + "fichier.txt");
    marche bien,merci et mes fichiers existent, mais j'ai toujours l'erreur.

    par contre j'ai testé avec un fichier que j'avais incorporé dans mes resources et là le message est légèrement différent il me dit
    ...erreur à proximité de
    et ensuite j'ai le début de mon texte, à savoir les trois premiers mots.
    Je ne comprends rien...
    J'ai vu que quelqu'un avait un problème similaire , et j'ai essayé le code de ce thread

    mais il me donne les mêmes erreur..

Discussions similaires

  1. Proposer un téléchargement
    Par chunly dans le forum Flash
    Réponses: 4
    Dernier message: 03/05/2006, 09h43
  2. [VB6] [Interface] Nbre de contrôles maxi dans une feuille
    Par Midou dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 13/10/2002, 16h09
  3. [VB6] [Interface] Tester le Type de Controle
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 16/09/2002, 09h51
  4. [controle] propriété read only
    Par Fizgig dans le forum Composants VCL
    Réponses: 6
    Dernier message: 28/08/2002, 10h30
  5. Rx Controls Gif animés
    Par toufou dans le forum Composants VCL
    Réponses: 6
    Dernier message: 23/08/2002, 14h09

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