Quisiera saber si se puedo obtener un archivo .txt
que esta en la máquina de cualquier cliente en la ruta
C:\Datos y copiarlo en el servidor donde esta alojado
mi sitioweb por ftp.
He intentado con el siguiente código pero
me copia el archivo desde el servidor al servidor, es decir que el no reconoce
que Dim Directorio As String = "C:\Datos" es la ruta del cliente en este caso mi
máquina local sino que la coge como ruta del servidor:
Protected Sub btnEnviar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnEnviar.Click
VerificarArchivos()
End Sub
Private Sub VerificarArchivos()
Dim Directorio As String = "C:\Datos"
If FileIO.FileSystem.DirectoryExists(Directorio) Then
Dim TotalPedidos As Integer = 0
For Each NombreArchivos As String In FileIO.FileSystem.GetFiles(Directorio)
Dim Archivo As FileInfo = FileIO.FileSystem.GetFileInfo(NombreArchivos)
If Archivo.Extension.ToLower = ".txt" Then
SubirArchivoAlServidor(Archivo.FullName, Archivo.Name, "ftp://192.1.1.216/", "ASOFAR", "2000")
TotalPedidos += 1
End If
Next
End If
End Sub
Private Function SubirArchivoAlServidor(ByVal strFilePath As String, ByVal NombreArchivo As String, ByVal strFTPPath As String, ByVal strUserName As String, ByVal strPassword As String) As Boolean
Try
Dim strFileName As String = strFilePath.Substring(strFilePath.LastIndexOf("\\" ) + 1)
Dim reqObj As Net.FtpWebRequest = Net.WebRequest.Create(strFTPPath + "/" + NombreArchivo)
reqObj.Method = Net.WebRequestMethods.Ftp.UploadFile
reqObj.Credentials = New Net.NetworkCredential(strUserName, strPassword)
Dim sourceStream As StreamReader = New StreamReader(strFilePath)
Dim fileContents As Byte() = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd())
sourceStream.Close()
reqObj.ContentLength = fileContents.Length
reqObj.Proxy = Nothing
reqObj.KeepAlive = False
Dim requestStream As Stream = reqObj.GetRequestStream()
requestStream.Write(fileContents, 0, fileContents.Length)
requestStream.Close()
Dim response As Net.FtpWebResponse = reqObj.GetResponse()
response.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
Espero haber sido claro con mi problema.
Gracias por su ayuda ya llevo dos días tratando de hacer esto.