begin process at 2012 05 27 20:02:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

ASP.net

 > 

Download de fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Download de fichier

mardi 7 février 2006 à 09:00:40 | Download de fichier

Sardonnen

Membre Club

bonjour,
j'utilise asp.net V1 pour uploader mes fichiers sur le serveur mais je mets une clé numérique au début du nom du fichier avant de le sauvegarder sur le serveur (cela permet par exemple de sauvegarder des fichiers différents avec le même nom). Par contre je souhaiterais forcer l'affichage la boite de dialogue pour ouvrir ou enregistrer le fichier et forcer le nom du fichier si l'utisateur souhaite l'enregistrer, j'ai cherché des sources mais sans succès, comment dois je faire????

Voici mon code pour faire mes upload :

Dim savePath As String = "c:\www\upload\"
Sub Upload_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs)
 If Not (ul_file.PostedFile Is Nothing) Then
  Try
   Dim postedFile = ul_file.PostedFile
   Dim filename As String = Path.GetFileName(postedFile.FileName)
   Dim contentType As String = postedFile.ContentType
   Dim contentLength As Integer = postedFile.ContentLength

   dim r_ident_file as string
   r_ident_file= ' valeur incrementée

   postedFile.SaveAs(savePath & r_ident_file & "_" & filename)
   message.Text = postedFile.Filename & " uploaded" & _
   "<br>content type: " & contentType & _
   "<br>content length: " & contentLength.ToString()

  End Try
 End If
End Sub

mardi 7 février 2006 à 12:00:49 | Re : Download de fichier

jesusonline

Membre Club Administrateur CodeS-SourceS
Bonjour,

il faut mettre un content type spécial

System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" & id & "." & oFichier.Extension)
Response.ContentType = "application/octet-stream"



Cyril - MVS - MCP ASP<
mardi 7 février 2006 à 13:18:50 | Re : Download de fichier

Sardonnen

Membre Club
mais dans ce cas là tu es donc obligé de passer par une page intermédiaire qui va te demander d'ouvrir ou enregistrer, ok
mais pour spécifier un nom dans la boite de dialogue enregistrer qui est différent du nom réél sur le serveur, tu procedes comment????
mardi 7 février 2006 à 13:34:52 | Re : Download de fichier

jesusonline

Membre Club Administrateur CodeS-SourceS
Je ne comprend pas !

Ce que je t'ai mis ca sert à

tu as un fichier stocké dans une bdd (ou autre) tu veux que l'utilisateur telecharge ce fichier

par exemple tu as

[ Lien ] 

dans cette page tu récuperes ton stream tu l'affiches avec response.binarywrite (ou un truc du genre) mais le pb c'est que si c'est une image alors le navigateur va l'afficher plutot que de la proposer en telechargement ...

Si tu rajoutes ce content-type (le bout de code du dessus) ca va faire forcer au navigateur à proposer en telechargement le fichier


Mais aprés relecture de la question je ne suis pas sur que c'est ce que tu voulais ?




Cyril - MVS - MCP ASP<
mardi 7 février 2006 à 13:52:50 | Re : Download de fichier

Sardonnen

Membre Club

si c'est la premier element de reponse que je souhaitais mais ensuite mon nom de fichier sur le serveur va etre 34_test.txt et j'aimerais forcer le nom de fichier dans la boite de dialogue à test.txt, est ce que ça c'est possible???

merci en tout cas pour forcer l'affichage de la boite de dialogue.

mardi 7 février 2006 à 14:03:24 | Re : Download de fichier

jesusonline

Membre Club Administrateur CodeS-SourceS
Je pense que ca doit etre possible

si tu modifies cette ligne :

System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" & id & "." & oFichier.Extension)

tu vois que tu peux modifier le champ fileName, pour cela il faudra bien sur que tu fasses une page aspx (ou un handler) qui permettra d'envoyer le fichier genre FileById.aspx?id=toto.txt cette page recuperera 34_toto.txt enverra son contenu via response.binarywrite et il te faudra alors setter le bon content type ainsi que le content-disposition :)


Cyril - MVS - MCP ASP
mardi 7 février 2006 à 14:20:45 | Re : Download de fichier

Sardonnen

Membre Club

si j'ai bien compris à travers le content-type et content-disposition tu spécifies le nom réél du fichier sur le serveur avec son application associé. A quel moment ou bien a quel endroit tu lui spécifie que le fichier 34_toto.txt sur le serveur tu veux qu'il soit afficher pour l'utilisateur du genre enregistrer le fichier toto.txt???
parce qu'avec FileById.aspx?id=34_toto.txt, tu spécifies le fichier impacté par la boite de dialogue ouvrir ou enregistrer, pour le moment on ne spécifie pas le libellé présent dans la boite de dialogue enregistrer sous au niveau du nom du fichier. hors moi à la limite je souhaiterais forcer le nom du fichier dans la boite de dialogue à tata.txt.


je ne sais pas si je suis bien clair????

mardi 7 février 2006 à 14:43:50 | Re : Download de fichier

jesusonline

Membre Club Administrateur CodeS-SourceS
Quand tu vas sur FileByID.aspx?id=34_toto.txt

enf ait dans le page_load tu passes à la moulinette l'id (je te conseil de pas mettre le nom du fichier mais autre chose) tu lui envoie via un response.writeFile ou response.binaryWrite le fichier qu'il veut ensuite tu peux encore jouer sur les en tetes http pour cela tu spécifie

System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=toto.txt");
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Length", (int)tailleDuFichier);

:) je pense que ca répond à ta question ?


Cyril - MVS - MCP ASP
mardi 7 février 2006 à 15:22:27 | Re : Download de fichier

Sardonnen

Membre Club

et quand je fais

System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=toto.txt");

le code sait qu'il doit aller le fichier 34_toto.txt???
car pour moi je comprenais que le fichier allait chercher sur le serveur un fichier qui se nomme toto.txt. Tu vois c'est là que je ne vois pas l'intêret de ton id???

FileByID.aspx?id=34_toto.txt


<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" %>
<%@ import namespace="System.IO" %>

<script language="vb" runat="server">

   Sub Page_Load(source As Object, e As EventArgs)

      Dim dir As String = Request.MapPath("upload")
      Dim id As String = request.querystring("id")
      If id <> "" then

         Response.Clear() ' Vide le buffer

         ' Dialogue de téléchargement
         Response.ContentType="application/octet-stream"
         ' seulement pour application/octet-stream !
         Response.AddHeader("Content-Disposition","attachment; filename=" & id)

         Response.Flush() ' Envoie le buffer

         Response.WriteFile(dir & "\" & id ) ' Envoie le contenu du fichier

      End If

   End Sub

</script>

car avec ce code j'obtiens bien une boite de dialogue mais le nom de fichier qui apparait dans la boite de dialogue est 34_toto.txt


mardi 7 février 2006 à 15:35:46 | Re : Download de fichier

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
j'ai pas le temps sinon je vais etre en retard mais :


<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" %>
<%@ import namespace="System.IO" %>

<script language="vb" runat="server">

   Sub Page_Load(source As Object, e As EventArgs)

      Dim dir As String = Request.MapPath("upload")
      Dim id As String = request.querystring("id")
      If id <> "" then

         Response.Clear() ' Vide le buffer

         ' Dialogue de téléchargement
         Response.ContentType="application/octet-stream"
         ' seulement pour application/octet-stream !
         Response.AddHeader("Content-Disposition","attachment; filename=" & id.substring(3))

         Response.Flush() ' Envoie le buffer

         Response.WriteFile(dir & "\" & id ) ' Envoie le contenu du fichier

      End If

   End Sub

</script>


libre à toi de modifier le fileName ;)


Cyril - MVS - MCP ASP<


1 2

Cette discussion est classée dans : fichier, string, file, filename, postedfile


Répondre à ce message

Sujets en rapport avec ce message

pb sur upload de fichier en asp.net avec c# [ par amorosalain ] SAMPour des clients qui veulent transférer des fichiers de grosses taille sur le serveur, j'ai mis en place un service de ftp via un site web. Pour ce Pb avec telechargement d'un fichier en asp.net 1.1 [ par Sardonnen ] bonjourj'ai un soucis avec le téléchargement des fichiers clients vers le serveur car le code html de la page est ajouté à chaque fois à la fin du fic Accents à l'écriture dans un fichier texte [ par gabiset ] Bonjour,Je dois écrire dans un fichier de log et dès que la phrase comporte des accents, mon fichier texte se retrouve avec des caractères bizarres à upload => asp.net [ par jimmy69 ] Bonjour a tous,J'essaye d'uploader des fichiers ....grace aux sources trouves sur ce site j'arrive bien a uploader un fichier ds un repertoire determi Upload de fichiers: compatibilité IE et Firefox [ par Pit_the_Hitman ] Bonjour à tous,Etant chargé pour un stage de réaliser un formulaire web ayant une interaction avec Microsoft CRM, j'ai besoin de fournir aux utilisate enregistrer fichier sur serveur ftp [ par chandler8692 ] Bonjour tout le monde. Aujourd'hui, je souhaite créer un fichier xml dans mon code puis l'enregistrer sur mon serveur ftp. C'est cette seconde partie Récupération d'un string du coté client [ par clavelski ] Bonjour, Donc j'ai un petit soucis avec mon string ;) . En fait du coté de mon service, j'ai 2 méthode qui me permette de concaténer 2 fichier XML.pub File.copy impossible de trouver le fichier [ par niamor35 ] Bonjour,J'ai un serveur IIS installé sur un Windows 2000 server.Voici mon problème, dans mon programme, j'ai besoin de faire la copie d'un document Wo Upload de fichier [ par Gwaedion ] Bonjour,J'ai trouvé plusieurs tuto qui permettaient de faire un upload vers un serveur mais je n'arrive pas à le faire fonctionner. voici l'érreur gén file to field [ par Superoxyde ] Bonjour,Dans le cadre de la réalisation d'un petit site de partage de fichier. J'essaye de mettre en oeuvre le stockage des fichiers dans la base de d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales