Problème Fileupload

ensat10 Messages postés 29 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 29 janvier 2011 - 26 déc. 2010 à 11:13
Jojo092 Messages postés 136 Date d'inscription samedi 24 septembre 2005 Statut Membre Dernière intervention 12 avril 2013 - 20 janv. 2011 à 10:41
Bonjour.
Sous Web Developer et je voudrais charger un fichier depuis mon disque local et le placer dans un dossier que j'ai crée dans ma solution.
Pour cela j'ai glissé depuis la barre d'outils le control Fileupload et un bouton que j'ai nommé ok.
Donc le but et de cliquer sur parcourir , charger le fichier , cliquer sur ok et avoir le fichier dans le dossier crée dans ma solution.

Voila le code que j'ai inséré dans mon bouton ok:
Partial Class Upload
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim filename As String = FileUpload1.PostedFile.FileName
        Dim dest As String = "C:\Users\Desktop\Mes données\WebSite\upload"
        Try
            System.IO.File.Copy(filename, dest)
        Catch es As System.IO.FileNotFoundException
            MsgBox(es.Message)
        Catch es As Exception
            MsgBox(es.Message)
        End Try
    End Sub
End Class


Lors de l'exécution ca me retourne un message d'erreur que le fichier n'existe pas.
j'ai posté ce problème pas mal de fois mais je ne reçois tjr pas de réponses!!
Aidez-moi svp.Merci

1 réponse

Jojo092 Messages postés 136 Date d'inscription samedi 24 septembre 2005 Statut Membre Dernière intervention 12 avril 2013
20 janv. 2011 à 10:41
Salut, je ne sais pas si tu recherche encore une solution pour ton souci, mais, sait-on jamais...

Donc pour commencer, tu lui demande le nom du fichier avec la propriété "PostedFile" avant même qu'il ne soit copié, ce qui peut posé un certain problème...
Fais juste ceci pour avoir le nom du fichier :

Dim filename As String = FileUpload1.FileName

Tu obtiendras le nom du fichier avec l'extension.

Ensuite, 2ème problème à mes yeux, tu mets un chemin en dur... Pas très glop tout ca... Utilise plutôt les méthodes qui te sont proposées par le Framework et qui sont là pour ça

Dim dest = HttpContext.Current.Server.MapPath("upload")

upload étant le dossier qui a été crée dans la solution pour les fichiers uploadés.

Et pour finir, n'oublies pas que tu est sur une application Web... Ta solution se trouve en local chez toi, mais penses que si tu héberge ta solution sur un serveur, ça ne sera pas pareil... Ce sera une relation Client/Serveur...

Donc, pour moi, le File.Copy pour le Web

Ton FileUpload a une méthode qui s'appelle SaveAs() avec en paramètre un chemin d'accès spécifique sur le serveur, donc pourquoi ne pas l'utiliser ?

Je te file même une partie du code ^^

'On vérifie qu'il y ai bien un fichier à uploader
If FileUpload1.HasFile Then
    try
        FileUpload1.SaveAs(dest & "" & filename)
    catch ex As Exception
        'Afficher l'erreur dans un label ou la Response
    End Try
Else
    'Aucun fichier n'a été spécifié
End If

If System.IO.File.Exists(dest & "" & filename) Then
    'Faire ton traitement
End If


Voilà, c'est un peu long pour un problème que tu avais à l'origine, mais si on peut s'améliorer, ca ne peut être que bénéfique.

J'espère que tu auras résolu ton problème...

Bonne journée

A+
0
Rejoignez-nous