Saltar al contenido

Subir archivo al sitio FTP usando VB.NET

Hola, hemos encontrado la respuesta a lo que necesitas, deslízate y la hallarás aquí.

Solución:

Mirando la documentación de MSDN, esto se asigna al comando FTP STOR. Mirando la definición del comando FTP STOR, sobrescribirá los archivos existentes, si el usuario tiene permisos.

Entonces, en este caso, sí, el archivo se sobrescribirá.

Sí, el protocolo FTP sobrescribe los archivos existentes al cargarlos.


Tenga en cuenta que hay mejores formas de implementar la carga.

La forma más trivial de cargar un archivo binario a un servidor FTP usando .NET Framework es usando WebClient.UploadFile:

Dim client As WebClient = New WebClient
client.Credentials = New NetworkCredential("username", "password")
client.UploadFile("ftp://ftp.example.com/remote/path/file.zip", "C:localpathfile.zip")

Si necesitas un mayor control, eso WebClient no ofrece (como cifrado TLS/SSL, modo de transferencia de texto/ascii, modo activo, reanudación de transferencia, etc.), uso FtpWebRequest. La manera fácil es simplemente copiar un FileStream a flujo FTP usando Stream.CopyTo:

Dim request As FtpWebRequest =
    WebRequest.Create("ftp://ftp.example.com/remote/path/file.zip")
request.Credentials = New NetworkCredential("username", "password")
request.Method = WebRequestMethods.Ftp.UploadFile

Using fileStream As Stream = File.OpenRead("C:localpathfile.zip"),
      ftpStream As Stream = request.GetRequestStream()
    fileStream.CopyTo(ftpStream)
End Using

Si necesita monitorear el progreso de una carga, debe copiar los contenidos por partes usted mismo:

Dim request As FtpWebRequest =
    WebRequest.Create("ftp://ftp.example.com/remote/path/file.zip")
request.Credentials = New NetworkCredential("username", "password")
request.Method = WebRequestMethods.Ftp.UploadFile

Using fileStream As Stream = File.OpenRead("C:localpathfile.zip"),
      ftpStream As Stream = request.GetRequestStream()
    Dim read As Integer
    Do
        Dim buffer() As Byte = New Byte(10240) 
        read = fileStream.Read(buffer, 0, buffer.Length)
        If read > 0 Then
            ftpStream.Write(buffer, 0, read)
            Console.WriteLine("Uploaded 0 bytes", fileStream.Position)
        End If
    Loop While read > 0
End Using

Para el progreso de la GUI (WinForms ProgressBar), consulte el ejemplo de C# en:
¿Cómo podemos mostrar la barra de progreso para cargar con FtpWebRequest?

Si desea cargar todos los archivos de una carpeta, consulte el ejemplo de C# en
Cargue el directorio de archivos al servidor FTP utilizando WebClient.

De: Enlace

ALMACENAR (TIENDA)

ALMACENAMIENTO

Este comando hace que el servidor FTP acepte los datos transferidos a través de la conexión de datos y almacene los datos como un archivo en el servidor FTP. Si el archivo especificado en el nombre de la ruta existe en el sitio del servidor, su contenido será reemplazado por los datos que se transfieren. Se crea un nuevo archivo en el servidor FTP si el archivo especificado en el nombre de ruta aún no existe.

Tienes la opción de añadir valor a nuestro contenido contribuyendo tu experiencia en las explicaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *