Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: BrokerJoker en 8 Marzo 2012, 02:55 AM

Título: Crear archivo en un FTP
Publicado por: BrokerJoker en 8 Marzo 2012, 02:55 AM
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
Título: Re: Crear archivo en un FTP
Publicado por: seba123neo en 8 Marzo 2012, 03:51 AM
Hola, proba esto:

Código (vbnet) [Seleccionar]
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.
Título: Re: Crear archivo en un FTP
Publicado por: BrokerJoker en 8 Marzo 2012, 15:43 PM
Cita de: seba123neo en  8 Marzo 2012, 03:51 AM
Hola, proba esto:

Código (vbnet) [Seleccionar]
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!
Título: Re: Crear archivo en un FTP
Publicado por: BrokerJoker en 8 Marzo 2012, 16:58 PM
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
Título: Re: Crear archivo en un FTP
Publicado por: seba123neo en 9 Marzo 2012, 05:03 AM
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.
Título: Re: Crear archivo en un FTP
Publicado por: Senior++ en 18 Marzo 2012, 15:35 PM
Cita de: seba123neo en  8 Marzo 2012, 03:51 AM
Hola, proba esto:

Código (vbnet) [Seleccionar]
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
Título: Re: Crear archivo en un FTP
Publicado por: seba123neo en 19 Marzo 2012, 00:54 AM
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.