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.