Telecharger un fichier dans un brower [Résolu]

garnier54 158 Messages postés mardi 17 janvier 2006Date d'inscription 24 octobre 2017 Dernière intervention - 1 août 2012 à 11:20 - Dernière réponse : garnier54 158 Messages postés mardi 17 janvier 2006Date d'inscription 24 octobre 2017 Dernière intervention
- 2 août 2012 à 10:29
boujour,

je voudrai dans mon programme asp.net vb.net recuperer les fichiers d un repertoire et pouvoir les telecharger dans mon brower (et eventuellement sur mon disque)

j'arrive à recuperer la liste de mes fichier et je les affiche dans une gridview, puis sur le select de la ligne je recupere le chemin.
tout marche bien jusque la voici mon code


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim dir As New DirectoryInfo("C:\pdf")
GWliste.DataSource = dir.GetFiles("*.*")
GWliste.DataBind()
End Sub

Protected Sub GWliste_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GWliste.SelectedIndexChanged
' Get the currently selected row using the SelectedRow property.
Dim row As GridViewRow = GWliste.SelectedRow
' chemin
TextBox1.Text = "You selected " & row.Cells(6).Text & "."
End Sub

mais je voudrai ajouter ensuite dans le SelectedIndexChanged le load de mon fichier (dont je connais le nom et le chemin)

j'ai fouillé mais je trouve pas la solution

merci de m 'aider

nicolas
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
garnier54 158 Messages postés mardi 17 janvier 2006Date d'inscription 24 octobre 2017 Dernière intervention - 2 août 2012 à 09:24
3
Merci
bonjour,

Merci non load c'est pas afficher cest load =(charger)
mais c'est bon j'ai trouvé la solution en fouillant sur le net
je vous la livre ca peut servir a d autres personnes.


Protected Sub GWliste_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GWliste.SelectedIndexChanged
' Selection de la ligne
Dim row As GridViewRow = GWliste.SelectedRow

' chemin + fichier
Dim pathfile As String = row.Cells(5).Text

'nom du fichier
Dim file As String = row.Cells(1).Text

' load du fichier
Response.Clear()
' Response.ContentType = "application/octet-stream"
Response.AppendHeader("Content-Disposition", "attachment; filename=" + file)
Response.TransmitFile(pathfile)
Response.End()
End Sub


ca marche super bien j'ai fait l'essai avec des pdf,xls,doc etc
la ligne Response.ContentType = "application/octet-stream" je ne sais pas son utilité ? si je la top ca marche aussi

merci pour ton aide

nicolas

Merci garnier54 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de garnier54
cs_jopop 1540 Messages postés lundi 26 mai 2003Date d'inscription 1 août 2013 Dernière intervention - 2 août 2012 à 08:51
0
Merci
Salut,

qu'appelle-tu "load du fichier dans le browser" ? L'y afficher ? Si oui, tous les fichiers ne sont pas interprétables par les browser.

Sinon, habituellement pour des fichiers téléchargeable (oui, que ce soit pour afficher dans ton navigateur ou enregistrer sur ton HD c'est la même chose) on les met disponibles à travers le serveur HTTP et on donne un lien direct vers la ressource.

Dans ton cas je ne sais pas si c'est que tu recherches. Si tu veux pouvoir envoyer un fichier non partagé il va falloir :
- lire le binaire du fichier côté serveur,
- remonter une réponse HTTP avec ce binaire, les bons HEADER et le bon MIME (dépendant du type de fichier envoyé).
Le client recevra alors le fichier tel que d'origine, qui s'ouvrira dans ton navigateur s'il sait les lire, ou qui sera proposé au téléchargement s'il ne sait pas.
Commenter la réponse de cs_jopop
cs_jopop 1540 Messages postés lundi 26 mai 2003Date d'inscription 1 août 2013 Dernière intervention - 2 août 2012 à 09:53
0
Merci
C'est la deuxième solution que j'ai proposée que tu utilises là ;)

Le content-type correspond à ce que j'appelle le MIME, là tu déclares qu'il s'agit de données binaires.

"Charger" n'a pas vraiment de sens dans ton cas. Tu transmets le fichier au client, il l'affiche ou le télécharge, sinon il se passe rien et la ressource reste sur le serveur. "Charger une ressource hors affichage/téléchargement" serait plutôt une pratique WinForm. Ou alors tu récupères ta ressource via Ajax et tu l'enregistres en localStorage, ce dont je doute.
Commenter la réponse de cs_jopop
garnier54 158 Messages postés mardi 17 janvier 2006Date d'inscription 24 octobre 2017 Dernière intervention - 2 août 2012 à 10:29
0
Merci
merci

je voulais télécharger un fichier et je cherchais le code vb.net pour le faire.
mais tout est bon maintent ca marche.

nicolas
Commenter la réponse de garnier54

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.