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 :

[C#]Equivalent de SaveFileDialog pour webform


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 49
    Points : 41
    Points
    41
    Par défaut [C#]Equivalent de SaveFileDialog pour webform
    Bonjour,

    Je développe une appli web.
    Dans cette appli, je génère plusieurs fichiers sur le serveur, auxquels l'utilisateur peut accéder via un lien sur la page web lors de la création.

    J'aimerais faire quelquechose de plus "propre", et proposer, lors de la création du fichier, une boîte de dialogue permettant à l'utilisateur de sauvegarder le fichier sur son PC en local, dans le dossier de son choix. Donc avoir l'équivalent du SaveFileDialog...

    Est-il possible d'utiliser le composant CommonDialog sur une webform ? J'ai essayé d'en ajouter un, mais je ne parviens pas à l'ouvrir via un script...

    J'ai lu beaucoup de choses sur le net, mais rien d'intéressant pour le moment...

    Merci pour tout conseil.

  2. #2
    Dnx
    Dnx est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 290
    Points : 154
    Points
    154
    Par défaut
    voila une fonction qui t'affiche une dialogbox qui permet de sauver ou ouvrir

    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
     
        Sub DisplayDownloadDialog(ByVal strFileName As String)
            Dim strPhysicalPath
            Dim objFileInfo As System.IO.FileInfo
     
            Try
                If Not System.IO.File.Exists(strFileName) Then Exit Sub
                objFileInfo = New System.IO.FileInfo(strFileName)
                Response.Clear()
                'Add Headers to enable dialog display
                Response.AddHeader("Content-Disposition", "attachment; filename=" & _
                    objFileInfo.Name)
                Response.AddHeader("Content-Length", objFileInfo.Length.ToString())
                Response.ContentType = "application/octet-stream"
                Response.WriteFile(objFileInfo.FullName)
            Catch ex As Exception
     
            Finally
                Response.End()
            End Try
        End Sub

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 49
    Points : 41
    Points
    41
    Par défaut
    Excellent, c'est ce que je cherchais !!!

    Merci beaucoup !

    J'ai juste eu à mapper correctement le fichier (qui est sur mon serveur).
    Ca donne ça au final (réécrit en C#) :

    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
     
    		private void DisplayDownloadDialog(string fileName)
    		{
    			System.IO.FileInfo fileInfo;
     
    			if (!System.IO.File.Exists(Server.MapPath(fileName)))
    				return;
     
    			fileInfo = new System.IO.FileInfo(Server.MapPath(fileName));
    			Response.Clear();
    			//Add Headers to enable dialog display
    			Response.AddHeader("Content-Disposition", "attachment; filename="+fileInfo.Name);
    			Response.AddHeader("Content-Length", fileInfo.Length.ToString());
    			Response.ContentType = "application/octet-stream";
    			Response.WriteFile(fileInfo.FullName);
             Response.End();
    		}

    Merci encore !!

  4. #4
    Dnx
    Dnx est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 290
    Points : 154
    Points
    154
    Par défaut
    de rien

  5. #5
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 241
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    Ce petit bou de code est tres utile mais j'aurais souhaiter une fonctionalité en plus, je voudrais placer directement le "parcourir" dans un répertoire déterminé pour simplifier la navigation de l'utilisateur !

    merci beacoup

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

Discussions similaires

  1. [XSD] Equivalent du <choice> pour les attribut
    Par BigOne55 dans le forum Valider
    Réponses: 6
    Dernier message: 14/03/2014, 19h24
  2. [C#] Equivalent de Owner pour les panneaux
    Par LaNat dans le forum Windows Forms
    Réponses: 2
    Dernier message: 25/04/2006, 09h08
  3. Equivalent à JML / JUnit pour le C++
    Par meuns dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 09/12/2004, 15h16
  4. equivalent SELECT DISTINCT pour MyBase?
    Par chrisou31 dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/03/2004, 19h33

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