Bonjour,
j'ai une appli qui génére un fichier .jpg dont le nommage est
contenu_de_textbox1 & "-" & contenu_de_textbox2 (nom-prenom.jpg)
et qui l'uploade via ftp selon les paramètres suivants :
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-prenom_user
exemple :
Un user nommé Mélanie ZETAUFRAIS s'inscrit sur le site, un rep ZETAUFRAIS-Melanie est crée sur le ftp.
Si ce user utilise l'appli, un fichier ZETAUFRAIS-Melanie.jpg et mon but est d'uploader ZETAUFRAIS-Melanie.jpg dans "
ftp://ftp.cluster006.ovh.net/www/jdownloads/ZETAUFRAIS-Melanie/"
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 fait sachant que ca cloche au niveau du rep d'upload (/fiches/). Je ne parviens pas a trouver la syntaxe pour dire /textbox1 & "-" & textbox2/
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
Merci de prendre le temps de lire et d'eclairer ma lanterne