Como puedo crear un archivo en FTP desde vb.net?
Encontre algo para subir archivos pero no sirve si ya no hay un archivo creado en el ftp
 My.Computer.Network.Crate("c:\Directorio" , "la pagina ftp/" , "user", "pass")
     
Alguien me podria ayudar porfavor T_T.
Solo quero poder crear un archivo de texto en el ftp pero desde un proyecto creado en vb.net
			
			
			
				Hola, proba esto:
Imports System.Net
Imports System.IO
Imports System.Text
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim uri As New Uri("ftp://ftp.servidor.com/carpeta/hola.txt")
        Dim request As FtpWebRequest = DirectCast(WebRequest.Create(uri), FtpWebRequest)
        request.Method = WebRequestMethods.Ftp.UploadFile
        request.Proxy = Nothing
        request.UseBinary = True
        request.UsePassive = False
        request.Credentials = New NetworkCredential("usuario", "password")
        Dim vCadena As String = "Esto es una prueba de FTP"
        Dim encoding As New System.Text.UTF8Encoding()
        Dim fileContents() As Byte = encoding.GetBytes(vCadena)
        request.ContentLength = fileContents.Length
        Dim requestStream As Stream = request.GetRequestStream()
        requestStream.Write(fileContents, 0, fileContents.Length)
        requestStream.Close()
        Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
        response.Close()
    End Sub
End Class
saludos.
			
			
			
				Cita de: seba123neo en  8 Marzo 2012, 03:51 AM
Hola, proba esto:
Imports System.Net
Imports System.IO
Imports System.Text
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim uri As New Uri("ftp://ftp.servidor.com/carpeta/hola.txt")
        Dim request As FtpWebRequest = DirectCast(WebRequest.Create(uri), FtpWebRequest)
        request.Method = WebRequestMethods.Ftp.UploadFile
        request.Proxy = Nothing
        request.UseBinary = True
        request.UsePassive = False
        request.Credentials = New NetworkCredential("usuario", "password")
        Dim vCadena As String = "Esto es una prueba de FTP"
        Dim encoding As New System.Text.UTF8Encoding()
        Dim fileContents() As Byte = encoding.GetBytes(vCadena)
        request.ContentLength = fileContents.Length
        Dim requestStream As Stream = request.GetRequestStream()
        requestStream.Write(fileContents, 0, fileContents.Length)
        requestStream.Close()
        Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
        response.Close()
    End Sub
End Class
saludos.
Muchas gracias , es justo lo que necesitaba! 
			
 
			
			
				M... xD otra vez a preguntar T_T
Como podria hacer para comprobar si el archivo existe ,  y si existe solo escribir en el ?
Alguna pista plis 
			
			
			
				busca en internet, ya todo eso lo podes hacer con la clase FtpWebRequest  que te pase en el codigo, por ejemplo:
How to check if file exists on FTP before FtpWebRequest (http://stackoverflow.com/questions/347897/how-to-check-if-file-exists-on-ftp-before-ftpwebrequest)
saludos.
			
			
			
				Cita de: seba123neo en  8 Marzo 2012, 03:51 AM
Hola, proba esto:
Imports System.Net
Imports System.IO
Imports System.Text
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim uri As New Uri("ftp://ftp.servidor.com/carpeta/hola.txt")
        Dim request As FtpWebRequest = DirectCast(WebRequest.Create(uri), FtpWebRequest)
        request.Method = WebRequestMethods.Ftp.UploadFile
        request.Proxy = Nothing
        request.UseBinary = True
        request.UsePassive = False
        request.Credentials = New NetworkCredential("usuario", "password")
        Dim vCadena As String = "Esto es una prueba de FTP"
        Dim encoding As New System.Text.UTF8Encoding()
        Dim fileContents() As Byte = encoding.GetBytes(vCadena)
        request.ContentLength = fileContents.Length
        Dim requestStream As Stream = request.GetRequestStream()
        requestStream.Write(fileContents, 0, fileContents.Length)
        requestStream.Close()
        Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
        response.Close()
    End Sub
End Class
saludos.
Tengo 1 pequeña duda con el código ese...
Lo que hace ese código es buscar en el FTP si existe un documento texto con el nombre hola.txt o crea el documento de texto hola.txt? :huh:
Saludos
			
 
			
			
				lo crea, crea un Stream y lo manda, para chequear que existe miren la clase FtpWebRequest , ahi tiene todo eso para ver si existe, borrar archivos..etc.
saludos.