您好,登錄后才能下訂單哦!
VB.NET中怎么處理FTP文件,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
VB.NET處理FTP方法一:使用Ftp.exe,通過process類來調用它。
ImportsSystem.Diagnostics ... PublicSubGetFileByCallFtp() '定義ProcessStartInfo,Process的啟動信息。 DimpsiAsNewProcessStartInfo 'ftp.exe的路徑***放到配置文件里。 psi.FileName="C:\WINNT\system32\ftp.exe" psi.RedirectStandardInput=False psi.RedirectStandardOutput=True '該值指示不使用操作系統Shell程序啟動進程。 psi.UseShellExecute=False '命令集文件名.注意,路徑中不能有空格. DimfileNameAsString="C\ftp.txt" '-s:FileName表示,從文件中讀取控制命令 psi.Arguments="-s:"+fileName DimprocAsProcess proc=Process.Start(psi) '等待進程完成任務 proc.WaitForExit() '在控制臺輸出結果 Console.WriteLine(proc.StandardOutput) Console.ReadLine() EndSub
VB.NET處理FTP方法二,使用win32api——wininet.dll
首先是,api聲明:
因為此測試程序,是VB.NETConsoleApplication所以,api聲明寫在Module里,
方法是靜態的。所以沒加Shared關鍵字,這一點請大家注意。
<DllImport("wininet")>_ PublicFunctionInternetOpen(ByValsAgentAsString,ByValLAccessTypeAsInteger,ByValsProxyNameAsString,_ ByValSProxyBypassAsString,ByVallFlagsAsInteger)AsInteger EndFunction <DllImport("wininet")>_ PublicFunctionInternetConnect(ByValhInternetSessionAsInteger,ByValsServerNameAsString,_ ByValnServerPortAsInteger,ByValsUsernameAsString,_ ByValsPasswordAsString,ByVallServiceAsInteger,_ ByVallFlagsAsInteger,ByVallContextAsInteger)AsInteger EndFunction <DllImport("wininet")>_ PublicFunctionFtpGetFile(ByValhFtpSessionAsInteger,ByVallpszRemoteFileAsString,_ ByVallpszNewFileAsString,ByValfFailIfExistsAsBoolean,_ ByValdwFlagsAndAttributesAsInteger,ByValdwFlagsAsInteger,_ ByValdwContextAsInteger)AsBoolean EndFunction <DllImport("wininet")>_ PublicFunctionInternetCloseHandle(ByValhInetAsInteger)AsInteger EndFunction
調用:
PublicSubGetFileByCallWininetDLL() Try DimintinetAsInteger=InternetOpen(Nothing,0,Nothing,Nothing,0) Ifintinet>0Then '參數:intinet的session值,ftp地址,端口,用戶名,密碼,lService,lFlags,lContext DimintinetconnAsInteger=InternetConnect(intinet,"192.168.110.152",0,"tokiwa","tokiwa",1,0,0) Ifintinetconn>0Then '下載某個文件到指定文件 DimretAsBoolean=FtpGetFile(intinetconn,"pagerror.gif","C:\itest.gif",0,0,1,0) IfretThen Console.WriteLine("ok!") Console.ReadLine() EndIf InternetCloseHandle(intinetconn) InternetCloseHandle
關于VB.NET中怎么處理FTP文件問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。