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

VB.NET Discussion :

ouvrir plusieurs téléchargement en meme temps


Sujet :

VB.NET

  1. #1
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut ouvrir plusieurs téléchargement en meme temps
    Bonjour,

    Ma problematique est dans le titre...
    En gros j'ai une fenetre asp sur laquelle j'ai des cases à cocher, qd je valide je veux que les documents créés en fonction des cases cochées soit téléchargé, et donc qu'il y ai autant de fenetre de téléchargement que de cases cochées.
    Ca marche bien pour une case cochée, mais des que j'ai plusieurs case cochée, ca fait n'importe quoi.
    Ce qui est normal, vu que pour afficher la fentre de telechargment je mets "response.end", et le code derriere ne s'execute pas...
    je vous mets le code que j'ai fais.
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
        Private Sub BtnOK_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnOK.Click
            Dim Lfichier As String = ""
     
    If FicheVersement.Checked Then 'And HttpContext.Current.Session("FicheVersementOK") <> "true" Then
                Lfichier = ReplaceCustomXml(My.Resources.Fiche1, "Fiche1")
                DownloadOpenFile(Lfichier)
     
            End If
            If TabAmort.Checked Then
                ' Lfichier = ReplaceCustomXml(My.Resources.Fiche2,"Fiche2")
                ' DownloadOpenFile(Lfichier)
            End If
            If Attestation.Checked Then
                Lfichier = ReplaceCustomXml(My.Resources.Fiche3, "Fiche3")
                DownloadOpenFile(Lfichier)
            End If
            If EnvoiDoc.Checked Then
                Lfichier = ReplaceCustomXml(My.Resources.Fiche4, "Fiche4")
                DownloadOpenFile(Lfichier)
            End If
            If RetourDoc.Checked Then
                Lfichier = ReplaceCustomXml(My.Resources.Fiche5, "Fiche5")
                DownloadOpenFile(Lfichier)
            End If
            If Caution.Checked Then
                Lfichier = ReplaceCustomXml(My.Resources.Fiche6, "Fiche6")
                DownloadOpenFile(Lfichier)
            End If
            If Signature.Checked Then
                Lfichier = ReplaceCustomXml(My.Resources.Fiche7, "Fiche7")
                DownloadOpenFile(Lfichier)
            End If
            Response.End()
    end sub
     
     Public Sub DownloadOpenFile(ByVal Lfichier As String)
            Dim stream As FileStream = File.Open(Lfichier, FileMode.Open)
            Dim filename As String = Path.GetFileName(Lfichier)
            'Dim extension As String = Path.GetExtension(Lfichier)
            'Response.ClearHeaders()
            'Response.ClearContent()
            Response.ContentEncoding = System.Text.Encoding.UTF8
            Context.Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
            Context.Response.AddHeader("Content-disposition", "attachment; filename= " & filename)
     
              Try
                Dim buffer(stream.Length) As Byte ' = New Byte(4056) 
                Dim bytesRead As Integer = 0 'buffer.Length
                bytesRead = stream.Read(buffer, 0, buffer.Length)
                While (bytesRead > 0)
                    Response.OutputStream.Write(buffer, 0, bytesRead)
                    bytesRead = stream.Read(buffer, 0, buffer.Length)
                End While
            Catch ex As Exception
                CMsgAlerte.Show(ex.Message)
            Finally
                stream.Close()
                Response.OutputStream.Flush()
                Response.OutputStream.Close()
            End Try
     
        End Sub
    J'espere avoir ete assez clair, n'hésitez pas me demander de plus amples précisions.
    merci pour vos lumieres!!

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Points : 1 120
    Points
    1 120
    Par défaut
    Salut,

    Tu parles d'ASPNET ? Je suppose par la suite que oui.

    ça me semble difficile à réaliser ton truc. Le navigateur ne sait gérer qu'une requête à la fois, donc un fichier à la fois. Donc coté serveur, ça semble pas possible.

    Il existe une solution coté client, qui consiste à ouvrir une nouvelle fenêtre par fichier (chaque fenêtre requête une page qui renvoie le bon fichier), mais ça peut bloquer à cause des anti-popup.

    edit : coté serveur, il y a aussi la solution du zip pour contenir tous les fichiers !

  3. #3
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut
    merci de ta reponse

    Effectivement les pages sont en asp.net.

    Pour la 1ere solution, j'ai cherché, mais je n'ai pas réussi à implémenter ce que j'ai trouvé, je m'y suis surement mal pris (je débute en web...). Je suis preneur si t'as un ex de code.

    Pour la 2e solution énoncée, j'y avait pensé mais l'utilisateur veut pouvoir modifier le document téléchargé et l'editer dans la foulée, si bien qu'il ne veut pas télécharger de zip.

Discussions similaires

  1. Ouvrir plusieurs formulaires en meme temps
    Par KANIN dans le forum IHM
    Réponses: 1
    Dernier message: 25/07/2012, 17h49
  2. Réponses: 0
    Dernier message: 25/03/2008, 11h30
  3. [TP] Plusieurs sons en même temps
    Par gusgus dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 17/11/2005, 11h59
  4. Réponses: 8
    Dernier message: 06/07/2004, 14h17
  5. Plusieurs commandes en meme temps
    Par caribou_belle dans le forum Linux
    Réponses: 7
    Dernier message: 18/09/2003, 17h07

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