FTP下载空白PDF vb.net

问题描述:

因此,我已经写了代码,它管理上传到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

确保您从流中的数据写入到文件:

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