2010-03-15 4 views
1

FTP 서버에서 파일을 다운로드하고 변경 한 다음 VB.NET을 사용하여 동일한 FTP로 다시 업로드해야합니다.FTP에서 파일을 다운로드하고 다시 업로드하는 방법

도움주세요. 고맙습니다.

+0

내가 비슷한 솔루션을 찾고있었습니다 THE AMAZING이 멋진 코드를 발견했습니다. 아래 링크를 확인하십시오 : http://stackoverflow.com/questions/5938893/using-ftp-to-download-each-file-while-getting-the-file-list – GiorgiTBS

답변

1
+0

이것은 무료 dll이 아닙니다. 파일. 직접 샘플 액세스가 필요합니다. –

+0

코드는 공개 도메인이며 VB.NET 응용 프로그램에서 클래스에 액세스 할 수 있어야합니다. 그 밖의 무엇이 필요합니까? –

+0

codeproject.com에서 FTpclient.cs 클래스를 사용해 보았습니다.하지만 ftp에서 파일을 다운로드하려고하면 오류 파일을 사용할 수 없거나 액세스 할 수 없으며 액세스 오류가 발생합니다. ftp에서 파일을 다운로드하는 방법에 액세스 할 수 있습니까? 감사합니다. –

0

방금 ​​직접 파일, 단순히 파이프 업로드 스트림에 다운로드 스트림을 다시 업로드하려면 다음

Dim downloadRequest As FtpWebRequest = 
    WebRequest.Create("ftp://downloadftp.example.com/source/path/file.txt") 
downloadRequest.Method = WebRequestMethods.Ftp.DownloadFile 
downloadRequest.Credentials = New NetworkCredential("username1", "password1") 

Dim uploadRequest As FtpWebRequest = 
    WebRequest.Create("ftp://uploadftp.example.com/target/path/file.txt") 
uploadRequest.Method = WebRequestMethods.Ftp.UploadFile 
uploadRequest.Credentials = New NetworkCredential("username2", "password2") 

Using downloadResponse As FtpWebResponse = downloadRequest.GetResponse(), 
     sourceStream As Stream = downloadResponse.GetResponseStream(), 
     targetStream As Stream = uploadRequest.GetRequestStream() 
    sourceStream.CopyTo(targetStream) 
End Using 

당신은 콘텐츠를 처리해야하는 경우 어떻게 든 S 또는 당신의 필요가 진행 상황을 모니터링, 또는 둘 모두하는 경우 (이 텍스트 파일 인 경우 처리하는 것을, 행 또는 어쩌면 라인), 당신은 그것을 덩어리로 덩어리를 할 필요가 :

Dim downloadRequest As FtpWebRequest = 
    WebRequest.Create("ftp://downloadftp.example.com/source/path/file.txt") 
downloadRequest.Method = WebRequestMethods.Ftp.DownloadFile 
downloadRequest.Credentials = New NetworkCredential("username1", "password1") 

Dim uploadRequest As FtpWebRequest = 
    WebRequest.Create("ftp://uploadftp.example.com/target/path/file.txt") 
uploadRequest.Method = WebRequestMethods.Ftp.UploadFile 
uploadRequest.Credentials = New NetworkCredential("username2", "password2") 

Using downloadResponse As FtpWebResponse = downloadRequest.GetResponse(), 
     sourceStream As Stream = downloadResponse.GetResponseStream(), 
     targetStream As Stream = uploadRequest.GetRequestStream() 
    Dim buffer As Byte() = New Byte(10240 - 1) {} 
    Dim read As Integer 
    Do 
     read = sourceStream.Read(buffer, 0, buffer.Length) 
     If read > 0 Then 
      ' process "buffer" here 
      targetStream.Write(buffer, 0, read) 
     End If 
    Loop While read > 0 
End Using 

은 참조 :

관련 문제