Attila54
Messages postés409Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention21 novembre 2013
-
23 mai 2012 à 10:09
Attila54
Messages postés409Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention21 novembre 2013
-
23 mai 2012 à 15:49
Bonjour,
J'ai une appli qui, apres calculs, sauvegarde un .xls (toto.xls)dans un repertoire de mon DD (mes documents/fiches)
Sur un form de cette appli, je voudrais, via un bouton "upload" aller chercher ce .xls et l'uploader dans un repertoire "fiches" a la racine d'un site dont l'acces via ftp est : ftp.cluster006.ovh.net avec bien sur login et password
Voici ce que j'ai fait :
- Dans les declarations de mon formulaire :
Imports System.Math
Imports System.Drawing.Imaging
Imports System.IO
Imports System.Net
Public Class Printfrm
Private localPath As String = "C:\Mesdocuments\fiches" 'sous rep fiches du rep mes documents
Private fileName As String = "toto.xls"
Private user As String = "mon_user"
Private password As String = "mon_password"
Private ftpUrl = "ftp.cluster006.ovh.net/fiches/".
.
.
Private ... les autres declarations de mon form
Ensuite, sur le clic de mon bouton "upload", j'ai fait :
Private Sub Buttonupload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonupload.Click
Dim requestFileDownload As FtpWebRequest = DirectCast(WebRequest.Create("ftp.cluster006.ovh.net/fiches/" & fileName), FtpWebRequest)
requestFileDownload.Credentials = New NetworkCredential(user, password)
requestFileDownload.Method = WebRequestMethods.Ftp.DownloadFile
Dim responseFileDownload As FtpWebResponse = DirectCast(requestFileDownload.GetResponse(), FtpWebResponse)
Dim responseStream As Stream = responseFileDownload.GetResponseStream()
Dim writeStream As New FileStream(localPath & fileName, FileMode.Create)
Dim Length As Integer = 2048
Dim buffer As [Byte]() = New [Byte](Length - 1) {}
Dim bytesRead As Integer = responseStream.Read(buffer, 0, Length)
While bytesRead > 0
writeStream.Write(buffer, 0, bytesRead)
bytesRead = responseStream.Read(buffer, 0, Length)
End While
responseStream.Close()
writeStream.Close()
requestFileDownload = Nothing
responseFileDownload = Nothing
End Sub
Après test, j'ai l'erreur :
URI non valide : Impossible de déterminer le format de l'URI.
à :
Dim requestFileDownload As FtpWebRequest = DirectCast(WebRequest.Create("ftp.cluster006.ovh.net/fiches/" & fileName)
Attila54
Messages postés409Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention21 novembre 20131 23 mai 2012 à 13:58
voila la version upload qui ne fonctionne pas :
Private Sub Buttonupload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonupload.Click
Dim requestFTPUploader As FtpWebRequest = DirectCast(WebRequest.Create("ftp://ftp.cluster006.ovh.net/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
malheureusement ca bloque a ce niveau
Dim fileInfo As New FileInfo(localPath & fileName)
Dim fileStream As FileStream = fileInfo.OpenRead()