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 :

telecharger fichier sur serveur asp.net c#


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 41
    Points : 27
    Points
    27
    Par défaut telecharger fichier sur serveur asp.net c#
    Bonjour,

    J'ai developpé un extranet permettant a mes clients d'uploder des documents. Soucis, je souhaiterais que l'utilisateur puisse consulter ses fichiers et donc les télécharger !

    J'ai essayé plusieurs méthode qui se résume a chaque fois par un échec :

    Methode 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        protected void ButtonRenamePJ_Click(object sender, EventArgs e)
        {
                   WebClient client = new WebClient();
                   client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
                   client.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(client_DownloadFileCompleted);
                   client.DownloadFileAsync(new Uri("http://localhost:16126/temp/file.zip"), "file.zip");
        }
     
        void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
                    double bytesIn = double.Parse(e.BytesReceived.ToString());
                    double totalBytes = double.Parse(e.TotalBytesToReceive.ToString());
                    double percentage = bytesIn / totalBytes * 100;
        }

    Methode2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Response.ClearContent();                 
        Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
        Response.AddHeader("Content-Length", file.Length.ToString());
        Response.ContentType = "application/zip";
        Response.TransmitFile(filepath);//ou Response.WriteFile(filepath);                   
        Response.End();
    Rien ne se passe pour la méthode 1 et concernant la méthode 2, IE et Mozilla bloque par sécurité le TransmitFile et le WriteFile!

    Quel solution s'offre a moi ?

    Merci par avance de votre aide

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 202
    Points : 101
    Points
    101
    Par défaut
    je sais pas si ça peut t'aider mais j'ai récemment fait quelque chose pour uploader des fichiers:

    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
            protected void btnUpload_Click(object sender, EventArgs e)
            {
                if (fileUpload.HasFile)
                {
                    int contentLength = fileUpload.PostedFile.ContentLength;
                    string contentType = fileUpload.PostedFile.ContentType;
                    string fileName = fileUpload.PostedFile.FileName;
                    bool bUpload = true;
     
                    byte[] contentbyte = new byte[contentLength];
                    fileUpload.PostedFile.InputStream.Read(contentbyte, 0, contentLength);
     
                    int idAgir = Convert.ToInt32(hdnIdAgir.Value);
     
                    int idAttachment = DAOAttachment.Insert(fileName, contentLength, contentType, contentbyte, bUpload);
     
                    DAOAgir_Attachment.Insert(idAgir, idAttachment);
     
                    RefreshgvAttachment(idAgir);
                    if (OkClick != null)
                        OkClick(this, null);
                }
     
            }

    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
     public static int Insert(string name, int size, string contentType, System.Data.Linq.Binary data, bool bUpload)
            {
                DataClassesDataContext db = ContextSingleton.GetDataContext();
                Attachment attachement = new Attachment();
     
                attachement.nameAttachment = name;
                attachement.size = size;
                attachement.contentType = contentType;
                attachement.data = data;
                attachement.bUpload = bUpload;
     
                db.Attachment.InsertOnSubmit(attachement);
                db.SubmitChanges();
     
                return attachement.idAttachment;
            }

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Points : 305
    Points
    305
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    WebClient wc = new WebClient();
    wc.DownloadFile("http://localhost:16126/temp/file.zip", "C:\\file.zip");
    Accepter les critiques, c'est le premier pas pour être un bon développeur ...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 41
    Points : 27
    Points
    27
    Par défaut
    Merci "arngrimur" pour ton extrait de code mais je n'ai pas rencontré de soucis sur l'upload uniquement sur le donwload.

    Concernant ta méthode "aguetat", je l'avais essayé mais j’avais toujours une erreur du webclient... En fait je viens de trouver le problème venait du contrôle de compte utilisateur donc problème résolu

    Merci a vous deux

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 41
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par aguetat Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    WebClient wc = new WebClient();
    wc.DownloadFile("http://localhost:16126/temp/file.zip", "C:\\file.zip");
    As tu une idée, pour demander a l'utilisateur ou enregistrer le fichier ou prendre par défaut comme destination de sauvegarde le bureau de l'utilisateur ou encore le chemin par défaut de téléchargement du navigateur pour le webclient ?

    Merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/07/2009, 15h23
  2. Réponses: 1
    Dernier message: 30/10/2008, 17h42
  3. Upload fichiers avec Applet vers serveur Asp .net
    Par rouliow dans le forum ASP.NET
    Réponses: 4
    Dernier message: 20/05/2008, 17h47
  4. telechargement fichier sur le net via vb 6
    Par milkeshake dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 18/05/2007, 22h02
  5. Réponses: 2
    Dernier message: 18/04/2007, 15h44

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