2016-01-21 85 views
0

因此,我已經寫了代碼,它管理上傳到FTP服務器上的PDF文件。一旦在服務器上,我可以通過Chrome從服務器上下載它,它會正常工作。但我想通過我的程序下載它,所以我寫了一些更多的代碼,但是這樣做的文件的大小是0kb,所以是空的。我該如何解決?FTP下載空白PDF vb.net

Module Module1 

Sub Main() 
    Dim output As IO.Stream 
    Dim FileName As String 
    Console.WriteLine("Enter the name of the file to download:") 
    FileName = Console.ReadLine 
    Try 
     Dim request As System.Net.FtpWebRequest 
     request = DirectCast(System.Net.WebRequest.Create("ftp://ftp.drivehq.com/Folder/" & FileName & ".pdf"), System.Net.FtpWebRequest) 
     'request.Method=Net.WebRequestMethods.Ftp.GetFileSize 
     'FileLength = cint(FTPRequest.getresponse.contentLength) 
    Catch ex As Exception 

    End Try 

    Try 
     Dim request As System.Net.FtpWebRequest 
     request = DirectCast(System.Net.WebRequest.Create("ftp://ftp.server.com/Folder/" & FileName & ".pdf"), System.Net.FtpWebRequest) 
     request.Credentials = New System.Net.NetworkCredential("Username", "Password") 
     request.Method = System.Net.WebRequestMethods.Ftp.DownloadFile 
     Dim stream As System.IO.Stream = request.GetResponse.GetResponseStream 
     'Dim OutPutFilepath As String = "DownloadTest" & "\" & IO.Path.GetFileName("ftp://ftp.Server.com/Folder/") 
     output = System.IO.File.Create("C:\Users\ASUS\Documents\TestFile2.pdf") 

     output.Close() 
     stream.Close() 
     Console.WriteLine("Downloaded") 
     Console.ReadLine() 


    Catch ex As Exception 
     MsgBox(ex.Message) 
    End Try 

End Sub 

End Module 

謝謝。

+0

你似乎並不被寫'stream'到您創建('output')的文件。您只需關閉流和文件。 – theduck

回答

0

確保您從流中的數據寫入到文件:

Dim stream As System.IO.Stream = request.GetResponse.GetResponseStream 
    output = System.IO.File.Create("C:\Users\ASUS\Documents\TestFile2.pdf") 
    stream.CopyTo(output) 
    output.Close() 
    stream.Close() 
+0

謝謝!這是問題所在。 – User59