upload via ftp dans un folder variable
Bonjour
Initialement, j'ai une appli qui génére un fichier .jpg dont le nommage est
Citation:
valeur_de_textbox1 & "-" & valeur_de_textbox2 (nom-prenom.jpg)
et qui l'uploade via ftp selon les paramètres suivants :
Code:
1 2 3 4
| Private localPath As String = "\\nas\rep1\rep2\rep3\rep4\" 'path du jpg a uploader
Private user As String = "monlogin"
Private password As String = "monpass"
Private ftpUrl As String = "ftp://ftp.cluster006.ovh.net/www/jdownloads/fiches/" 'path ou uploader le fichier |
jusqu'ici je n'avais aucun probleme mais la donne a changée car le sous rep final d'upload n'est plus "fiches" mais un rep généré automatiquement a l'inscription de l'user sur le site. Il est de la forme nom_user
exemple :
Un user nommé Mélanie ZETAUFRAIS s'inscrit sur le site, un rep ZETAUFRAIS est crée sur le ftp.
Si ce user utilise l'appli, un fichier ZETAUFRAIS-Melanie.jpg est crée et mon but est d'uploader ZETAUFRAIS-Melanie.jpg dans "ftp://ftp.cluster006.ovh.net/www/jdownloads/ZETAUFRAIS/"
Je ne risque pas de probleme de dossier inexistant car le user doit être enregistré avant de pouvoir utiliser l'appli
1 Seul fichier est autorisé par dossier donc pas de souci de doublon non plus.
Voila ce que j'ai sachant que ca cloche au niveau du rep d'upload (/fiches/). Je ne parviens pas a trouver la syntaxe pour dire remplacer /fiches/ par /valeur_de_textbox1/
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Private Sub upload()
Dim myDate As DateTime
If Not (DateTime.TryParse(TxtDate.Text, myDate)) Then
MessageBox.Show("Error")
Exit Sub
End If
Dim fileName As String = Txtnom.Text & "-" & txtPrenom.Text & ".jpeg"
Dim requestFTPUploader As FtpWebRequest = DirectCast(WebRequest.Create("ftp://ftp.cluster006.ovh.net/www/jdownloads/fiches/" & fileName), FtpWebRequest)
requestFTPUploader.Credentials = New NetworkCredential(user, password)
requestFTPUploader.Method = WebRequestMethods.Ftp.UploadFile
Dim fileInfo As New FileInfo(localPath & fileName)
Dim fileStream As FileStream = fileInfo.OpenRead()
Dim bufferLength As Integer = 2048
Dim buffer As Byte() = New Byte(bufferLength - 1) {}
Dim uploadStream As Stream = requestFTPUploader.GetRequestStream()
Dim contentLength As Integer = fileStream.Read(buffer, 0, bufferLength)
While contentLength <> 0
uploadStream.Write(buffer, 0, contentLength)
contentLength = fileStream.Read(buffer, 0, bufferLength)
End While
uploadStream.Close()
fileStream.Close()
requestFTPUploader = Nothing
End Sub |
Comment pourrais je proceder ?
merci beaucoup :)