Foro de elhacker.net

Programación => .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

 
Código:
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
  1. Imports System.Net
  2. Imports System.IO
  3. Imports System.Text
  4.  
  5. Public Class Form1
  6.  
  7.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  8.  
  9.        Dim uri As New Uri("ftp://ftp.servidor.com/carpeta/hola.txt")
  10.        Dim request As FtpWebRequest = DirectCast(WebRequest.Create(uri), FtpWebRequest)
  11.  
  12.        request.Method = WebRequestMethods.Ftp.UploadFile
  13.        request.Proxy = Nothing
  14.        request.UseBinary = True
  15.        request.UsePassive = False
  16.        request.Credentials = New NetworkCredential("usuario", "password")
  17.  
  18.        Dim vCadena As String = "Esto es una prueba de FTP"
  19.  
  20.        Dim encoding As New System.Text.UTF8Encoding()
  21.  
  22.        Dim fileContents() As Byte = encoding.GetBytes(vCadena)
  23.        request.ContentLength = fileContents.Length
  24.  
  25.        Dim requestStream As Stream = request.GetRequestStream()
  26.        requestStream.Write(fileContents, 0, fileContents.Length)
  27.        requestStream.Close()
  28.  
  29.        Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
  30.        response.Close()
  31.    End Sub
  32. End Class

saludos.


Título: Re: Crear archivo en un FTP
Publicado por: BrokerJoker en 8 Marzo 2012, 15:43 pm
Hola, proba esto:

Código
  1. Imports System.Net
  2. Imports System.IO
  3. Imports System.Text
  4.  
  5. Public Class Form1
  6.  
  7.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  8.  
  9.        Dim uri As New Uri("ftp://ftp.servidor.com/carpeta/hola.txt")
  10.        Dim request As FtpWebRequest = DirectCast(WebRequest.Create(uri), FtpWebRequest)
  11.  
  12.        request.Method = WebRequestMethods.Ftp.UploadFile
  13.        request.Proxy = Nothing
  14.        request.UseBinary = True
  15.        request.UsePassive = False
  16.        request.Credentials = New NetworkCredential("usuario", "password")
  17.  
  18.        Dim vCadena As String = "Esto es una prueba de FTP"
  19.  
  20.        Dim encoding As New System.Text.UTF8Encoding()
  21.  
  22.        Dim fileContents() As Byte = encoding.GetBytes(vCadena)
  23.        request.ContentLength = fileContents.Length
  24.  
  25.        Dim requestStream As Stream = request.GetRequestStream()
  26.        requestStream.Write(fileContents, 0, fileContents.Length)
  27.        requestStream.Close()
  28.  
  29.        Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
  30.        response.Close()
  31.    End Sub
  32. 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
Hola, proba esto:

Código
  1. Imports System.Net
  2. Imports System.IO
  3. Imports System.Text
  4.  
  5. Public Class Form1
  6.  
  7.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  8.  
  9.        Dim uri As New Uri("ftp://ftp.servidor.com/carpeta/hola.txt")
  10.        Dim request As FtpWebRequest = DirectCast(WebRequest.Create(uri), FtpWebRequest)
  11.  
  12.        request.Method = WebRequestMethods.Ftp.UploadFile
  13.        request.Proxy = Nothing
  14.        request.UseBinary = True
  15.        request.UsePassive = False
  16.        request.Credentials = New NetworkCredential("usuario", "password")
  17.  
  18.        Dim vCadena As String = "Esto es una prueba de FTP"
  19.  
  20.        Dim encoding As New System.Text.UTF8Encoding()
  21.  
  22.        Dim fileContents() As Byte = encoding.GetBytes(vCadena)
  23.        request.ContentLength = fileContents.Length
  24.  
  25.        Dim requestStream As Stream = request.GetRequestStream()
  26.        requestStream.Write(fileContents, 0, fileContents.Length)
  27.        requestStream.Close()
  28.  
  29.        Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
  30.        response.Close()
  31.    End Sub
  32. 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.