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