cs_lilj
Messages postés203Date d'inscriptiondimanche 13 décembre 2009StatutMembreDernière intervention 1 avril 2012
-
7 nov. 2010 à 13:20
Utilisateur anonyme -
9 nov. 2010 à 21:16
bonjour,
est-il possible de travailler avec des "uploads" de fichiers un peu comme en développement web ?
Je m'explique :
Mon application VB 2010 doit permettre de choisir un fichier. puis de copier se fichier dans un dossier spécifique de mon programme. Enfin, lorsque l'utilisateur veut consulter ce fichier, le programme ouvre le fichier...
Je sais qu'il faut utiliser un openfiledialog mais sans plus...
On pourrait m'aider s'il vous plaît ?
Il s'agit d'un fichier pdf.. de plus, comment vérifier qu'il s'agit bien d'un fichier de ce format ?
Dim dlg As New OpenFileDialog
With dlg
.Filter = "Fichiers PDF|*.pdf"
.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
.ShowDialog()
End With
'copie du fichier dans le dossier de ton application
My.Computer.FileSystem.CopyFile(dlg.FileName, Application.StartupPath & "" & _
dlg.FileName.Substring(dlg.FileName.LastIndexOf("") + 1))
Dans ce cas, la boite de dialogue ouvrira le dossier Mes Documents (InitialDirectory) mais rien ne t'empêche de mémoriser le dossier que l'utilisateur aura choisi une première fois dans ton application et de l'indiquer en InitialDirectory.
Salut,
Je suppose que les fichiers pdf sont distants et que ton application doit tous les télécharger.
Dans ce cas tu peux faire un truc du genre :
'déclaration d'un pdf à télécharger (on peut faire une boucle s'il y en a plusieurs)
Dim monpdf As String = "http://www.ratp.info/picts/miniplan/metro120x84.pdf"
'téléchargement du pdf
My.Computer.Network.DownloadFile(monpdf, monpdf.Substring(monpdf.LastIndexOf("/") + 1))
Une fois que le ou les pdf ont été téléchargés, on initialise une boite de dialogue filtrante :
'préparation et ouverture de la boite de dialogue
Dim dlg As New OpenFileDialog
With dlg
.Filter = "Fichiers PDF|*.pdf"
.InitialDirectory = Application.StartupPath
.ShowDialog()
End With
'ouverture du pdf
Process.Start(dlg.FileName)
cs_lilj
Messages postés203Date d'inscriptiondimanche 13 décembre 2009StatutMembreDernière intervention 1 avril 20125 8 nov. 2010 à 06:22
Merci mais il ne s'agit pas de le telecharger mais de copier et deplacer un fichier sur un pc local. Ex la personne possede un pdf ds un dossier. Ma boitr de dialog lui demande un fichier pdf puis copie et deplace ce fichier dans un dossier precis pr ke program puisse l'appeler plus tard car en gardant just l'adresse du pdf si lutilisateur le deplace cela va generer des erreurs dans mon app
cs_lilj
Messages postés203Date d'inscriptiondimanche 13 décembre 2009StatutMembreDernière intervention 1 avril 20125 9 nov. 2010 à 15:15
Merci pour ton code mais concernant la ligne
'copie du fichier dans le dossier de ton application
My.Computer.FileSystem.CopyFile(dlg.FileName, Application.StartupPath & "" & _
dlg.FileName.Substring(dlg.FileName.LastIndexOf("") + 1))
Application.StartupPath : dossier de ton application ?? C'est à dire ?
FileName.LastIndexOf("") + 1) : A quoi sert cette ligne ? stp
Merci encore pour ces informations !!
Vous n’avez pas trouvé la réponse que vous recherchez ?
J'ai fait une erreur quand j'ai mis en forme désolé.
C'est la même ligne mais coupée en 2 avec le symbole _
On l'utilise pour couper les longues lignes.
CopyFile (chemin et fichier à déplacer , nouveau chemin et nom du fichier déplacé)
chemin et fichier à déplacer => dlg.Filename (choisi par l'utilisateur)
nouveau chemin => Application.StartupPath (chemin de ton application)
nom du fichier déplacé => dlg.FileName.Substring(dlg.FileName.LastIndexOf("") + 1)
substring ne garde que a partir de la dernière barre oblique détectée dans le string du fichier choisi par l'utilisateur.