當前位置:首頁 » 文件傳輸 » 實現ftp的下載文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

實現ftp的下載文件

發布時間: 2022-06-18 01:21:04

⑴ JAV中怎麼實現FTP的下載功能

以下是這三部分的JAVA源程序:(1)顯示FTP伺服器上的文件 void ftpList_actionPerformed(ActionEvent e) { String server=serverEdit.getText(); //輸入的FTP伺服器的IP地址 String user=userEdit.getText(); //登錄FTP伺服器的用戶名 String password=passwordEdit.getText(); //登錄FTP伺服器的用戶名的口令 String path=pathEdit.getText(); //FTP伺服器上的路徑 try { FtpClient ftpClient=new FtpClient(); //創建FtpClient對象 ftpClient.openServer(server); //連接FTP伺服器 ftpClient.login(user, password); //登錄FTP伺服器 if (path.length()!=0) ftpClient.cd(path); TelnetInputStream is=ftpClient.list(); int c; while ((c=is.read())!=-1) { System.out.print((char) c);} is.close(); ftpClient.closeServer();//退出FTP伺服器 } catch (IOException ex) {;} }(2)從FTP伺服器上下傳一個文件 void getButton_actionPerformed(ActionEvent e) { String server=serverEdit.getText(); String user=userEdit.getText(); String password=passwordEdit.getText(); String path=pathEdit.getText(); String filename=filenameEdit.getText(); try { FtpClient ftpClient=new FtpClient(); ftpClient.openServer(server); ftpClient.login(user, password); if (path.length()!=0) ftpClient.cd(path); ftpClient.binary(); TelnetInputStream is=ftpClient.get(filename); File file_out=new File(filename); FileOutputStream os=new FileOutputStream(file_out); byte[] bytes=new byte[1024]; int c; while ((c=is.read(bytes))!=-1) { os.write(bytes,0,c); } is.close(); os.close(); ftpClient.closeServer(); } catch (IOException ex) {;} }(3)向FTP伺服器上上傳一個文件 void putButton_actionPerformed(ActionEvent e) { String server=serverEdit.getText(); String user=userEdit.getText(); String password=passwordEdit.getText(); String path=pathEdit.getText(); String filename=filenameEdit.getText(); try { FtpClientftpClient=new FtpClient(); ftpClient.openServer(server); ftpClient.login(user, password); if (path.length()!=0) ftpClient.cd(path); ftpClient.binary(); TelnetOutputStream os=ftpClient.put(filename); File file_in=new File(filename); FileInputStream is=new FileInputStream(file_in); byte[] bytes=new byte[1024]; int c; while ((c=is.read(bytes))!=-1){ os.write(bytes,0,c);} is.close(); os.close(); ftpClient.closeServer(); } catch (IOException ex) {;} } }

⑵ C語言實現從FTP下載、上傳文件

FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為「文傳協議」。
1.C語言可以使用CStdioFile函數打開本地文件。使用類CInternetSession 創建並初始化一個Internet打開FTP伺服器文件。
CStdioFile繼承自CFile,一個CStdioFile 對象代表一個用運行時函數fopen 打開的C 運行時流式文件。
流式文件是被緩沖的,而且可以以文本方式(預設)或二進制方式打開。文本方式提供對硬回車—換行符對的特殊處理。當你將一個換行符(0x0A)寫入一個文本方式的CStdioFile 對象時,位元組對(0x0D,0x0A)被發送給該文件。當你讀一個文件時,位元組對(0x0D,0x0A)被翻譯為一個位元組(0x0A)。
CStdioFile 不支持Duplicate,LockRange,和UnlockRange 這幾個CFile 函數。如果在CStdioFile 中調用了這幾個函數,將會出現CNoSupported 異常。
使用類CInternetSession 創建並初始化一個或多個同時的Internet 會話。如果需要,還可描述與代理伺服器的連接。
如果Internet連接必須在應用過程中保持著,可創建一個類CWinApp的CInternetSession成員。一旦已建立起Internet 會話,就可調用OpenURL。CInternetSession會通過調用全局函數AfxParseURL來為分析映射URL。無論協議類型如何,CInternetSession 解釋URL並管理它。它可處理由URL資源「file://」標志的本地文件的請求。如果傳給它的名字是本地文件,OpenURL 將返回一個指向CStdioFile對象的指針。
如果使用OpenURL在Internet伺服器上打開一個URL,你可從此處讀取信息。如果要執行定位在伺服器上的指定的服務(例如,HTTP,FTP或Gopher)行為,必須與此伺服器建立適當的連接。

⑶ C#實現ftp文件上傳下載

這個不是網上下的,是我自己底層庫里的代碼,都經過測試的,請放心使用 /// <summary> /// FTP類 /// 提供常用FTP上傳下載等數據處理函數 /// </summary> public class FTP { private static Regex regexName; private string serverIP; private string userName; private string passWord; static FTP() { regexName = new Regex(@"[^\s]*$", RegexOptions.Compiled); } /// <summary> /// 初始化FTP類,賦予伺服器IP地址,用戶名和密碼,以便所有操作自動登錄。 /// </summary> /// <param name="serverIP">伺服器IP地址</param> /// <param name="userName">用戶名</param> /// <param name="passWord">密碼</param> public FTP(string serverIP, string userName, string passWord) { this.serverIP = serverIP; this.userName = userName; this.passWord = passWord; } /// <summary> /// 判斷FTP目錄是否存在 /// </summary> /// <param name="directoryName">目錄路徑</param> /// <returns>是否存在</returns> public bool DirectoryExist(string directoryName) { return DirectoryExist(directoryName, serverIP, userName, passWord); } /// <summary> /// 在FTP上創建目錄 /// </summary> /// <param name="directoryName">目錄名</param> /// <returns>是否成功</returns> public bool CreateDirectory(string directoryName) { return CreateDirectory(directoryName, serverIP, userName, passWord); } /// <summary> /// 從FTP上刪除文件 /// </summary> /// <param name="fileName">文件名</param> /// <returns>是否成功</returns> public bool DeleteFile(string fileName) { return DeleteFile(fileName, serverIP, userName, passWord); } /// <summary> /// 從FTP上刪除目錄(如果目錄中含有文件,會引發異常) /// </summary> /// <param name="directoryName">目錄名</param> /// <returns>是否成功</returns> public bool DeleteDirectory(string directoryName) { return DeleteDirectory(directoryName, serverIP, userName, passWord); } /// <summary> /// 判斷文件是否存在於制定目錄中 /// </summary> /// <param name="directoryName">目錄名</param> /// <param name="ftpName">文件</param> /// <returns></returns> public bool FileExist(string directoryName,string fileName) { return FileExist(directoryName, fileName,serverIP,userName,passWord); } /// <summary> /// 判斷目錄是否為空(即沒有文件) /// </summary> /// <param name="directoryName">目錄名</param> /// <returns>是否為空</returns> public bool IsEmptyDirectory(string directoryName) { return IsEmptyDirectory(directoryName, serverIP, userName, passWord); } /// <summary> /// 判斷目錄是否有文件 /// </summary> /// <param name="directoryName">目錄名</param> /// <returns>是否有文件</returns> public bool HasFileDirectory(string directoryName) { return HasFileDirectory(directoryName,serverIP,userName,passWord); } /// <summary> /// 從FTP下載文件,文件名稱不變 /// </summary> /// <param name="sourcePath">源路徑</param> /// <param name="targetPath">目標路徑</param> /// <returns>是否成功</returns> public bool Download(string sourcePath, string targetPath) { return Download(sourcePath, targetPath, serverIP, userName, passWord); } /// <summary> /// 上傳文件到FTP /// </summary> /// <param name="localFilePath">本地文件路徑</param> /// <param name="targetDirectoryName"></param> /// <returns>是否成功</returns> public bool Upload(string localFilePath, string targetDirectoryName) { return Upload(localFilePath, targetDirectoryName, serverIP, userName, passWord); } }

⑷ 什麼是FTP它是怎樣實現上傳和下載的

盡管Telnet提供了訪問遠程文件的極好方法,但怎麼也比不上使用自己計算機中的文件方便。如果用戶想使用其它計算機上的文件,最理想的方法就是把它COPY到自己的計算機中,以便在本地計算機上操作。那麼用什麼方法去將遠程計算機中的文件獲取過來呢?FTP正是完成這項工作的工具。

FTP以它所使用的協議:文件傳輸協議(File Transfer Protocol)來命名的。正如其名所示:協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯系的方式、以及使用的操作系統無關。假設兩台計算機能與FTP協議對話,並且能訪問INTERNET,就可以用FTP軟體的命令來傳輸文件。對於不同的操作系統具體操作上可能會有些細微差別,但是其基本的命令結構是相同的。

FTP是個非常有用的工具,你可以在任意個可經FTP訪問的公共有效的聯機資料庫或文檔中找到你想要的任何東西。全世界現在已有1000多(96年的數據)個FTP文件伺服器對所有INTERNET用戶開使用,用戶可以通過與INTERNET相連的計算機,把自己需要的文件傳輸過來。

FTP採用「客戶機/伺服器」方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字元界和圖形界面(如Cute FTP)兩種。首先我們將研究在字元界面上如何在已有帳號(注冊名和口令)的兩台計算機之間傳送文件,其次我們將討論「匿名FTP」,它是一特殊服務,允許用戶在沒有帳戶的情況下,訪問公共FTP資料庫。大多數公共資料庫提供了匿名FTP路徑,這意味著用戶即使沒有注冊名也可以得到很多的免費文件。

⑸ 如何實現window系統cmd環境下從遠程FTP伺服器上下載文件的方法

我們總會遇到這樣或那樣的問題,window系統cmd環境下從遠程FTP伺服器上下載文件是怎麼實現的呢?

看看下面的方法,也許對你有幫助:

@echo off

rem 指定FTP用戶名

set ftpUser=FTPUSERYGL

rem 指定FTP密碼

set ftpPass=FTPUSER

rem 指定FTP伺服器地址

set ftpIP=10.16.12.101

rem 指定待下載的文件位於FTP伺服器的哪個目錄

set ftpFolder=/MBX-YGL-IN/UE0620/MBX-YGL-FTP/

rem 指定從FTP下載下來的文件存放到本機哪個目錄

set LocalFolder=D:/Download

set ftpFile=%temp%/TempFTP.txt

>"%ftpFile%" (

echo,%ftpUser%

echo,%ftpPass%

echo cd "%ftpFolder%"

echo lcd "%LocalFolder%"

echo bin

echo mget *.*

echo bye

)

start ftp -v -i -s:"%ftpFile%" %ftpIP%

⑹ 怎麼從FTP上下載東西

其實我建議使用一個專門的ftp客戶端來使用ftp比較好,這樣你只需要在客戶端上輸入ftp伺服器的IP和埠,賬號,密碼,就能輕松的上傳和下載文件,非常實用。

這里我推薦使用IIS7伺服器管理工具,它可以作為FTP的客戶端,想要進行FTP的上傳下載操作,只需要下載安裝iis7伺服器管理工具就可以了!免費下載,很方便。

同時它還可以作為VNC的客戶端,進行VNC的相應操作!它能夠連接Windows和Linux系統下的伺服器和VPS,能滿足你不同系統的使用,感覺不錯的話可以試試

⑺ 如何用ftp方式下載

FTP(File Transfer Protocol)是文件傳輸協議的簡稱。

FTP的作用

正如其名所示:FTP的主要作用,就是讓用戶連接上一個遠程計算機(這些計算機上運行著FTP伺服器程序)察看遠程計算機有哪些文件,然後把文件從遠程計算機上拷到本地計算機,或把本地計算機的文件送到遠程計算機去。

FTP工作原理

拿下傳文件為例,當你啟動FTP從遠程計算機拷貝文件時,你事實上啟動了兩個程序:一個本地機上的FTP客戶程序:它向FTP伺服器提出拷貝文件的請求。另一個是啟動在遠程計算機的上的FTP伺服器程序,它響應你的請求把你指定的文件傳送到你的計算機中。FTP採用「客戶機/伺服器」方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字元界面和圖形界面兩種。字元界面的FTP的命令復雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。

簡單地說,支持FTP協議的伺服器就是FTP伺服器,下面介紹一下什麼是FTP協議(文件傳輸協議)

一般來說,用戶聯網的首要目的就是實現信息共享,文件傳輸是信息共享非常重要的一個內容之一。Internet上早期實現傳輸文件,並不是一件容易的事,我們知道 Internet是一個非常復雜的計算機環境,有PC,有工作站,有MAC,有大型機,據統計連接在Internet上的計算機已有上千萬台,而這些計算機可能運行不同的操作系統,有運行Unix的伺服器,也有運行Dos、Windows的PC機和運行MacOS的蘋果機等等,而各種操作系統之間的文件交流問題,需要建立一個統一的文件傳輸協議,這就是所謂的FTP。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環境中獲得文件。

與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP伺服器程序。用戶通過客戶機程序向伺服器程序發出命令,伺服器程序執行用戶所發出的命令,並將執行的結果返回到客戶機。比如說,用戶發出一條命令,要求伺服器向用戶傳送某一個文件的一份拷貝,伺服器會響應這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶目錄中。

在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上載"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上載"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上載(下載)文件。

使用FTP時必須首先登錄,在遠程主機上獲得相應的許可權以後,方可上載或下載文件。也就是說,要想同哪一台計算機傳送文件,就必須具有哪一台計算機的適當授權。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用戶在每一台主機上都擁有帳號。匿名FTP就是為解決這個問題而產生的。

匿名FTP是這樣一種機制,用戶可通過它連接到遠程主機上,並從其下載文件,而無需成為其注冊用戶。系統管理員建立了一個特殊的用戶ID,名為anonymous, Internet上的任何人在任何地方都可使用該用戶ID。

通過FTP程序連接匿名FTP主機的方式同連接普通FTP主機的方式差不多,只是在要求提供用戶標識ID時必須輸入anonymous,該用戶ID的口令可以是任意的字元串。習慣上,用自己的E-mail地址作為口令,使系統維護程序能夠記錄下來誰在存取這些文件。

值得注意的是,匿名FTP不適用於所有Internet主機,它只適用於那些提供了這項服務的主機。

當遠程主機提供匿名FTP服務時,會指定某些目錄向公眾開放,允許匿名存取。系統中的其餘目錄則處於隱匿狀態。作為一種安全措施,大多數匿名FTP主機都允許用戶從其下載文件,而不允許用戶向其上載文件,也就是說,用戶可將匿名FTP主機上的所有文件全部拷貝到自己的機器上,但不能將自己機器上的任何一個文件拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許用戶上載文件,用戶也只能將文件上載至某一指定上載目錄中。隨後,系統管理員會去檢查這些文件,他會將這些文件移至另一個公共下載目錄中,供其他用戶下載,利用這種方式,遠程主機的用戶得到了保護,避免了有人上載有問題的文件,如帶病毒的文件。

作為一個Internet用戶,可通過FTP在任何兩台Internet主機之間拷貝文件。但是,實際上大多數人只有一個Internet帳戶,FTP主要用於下載公共文件,例如共享軟體、各公司技術支持文件等。 Internet上有成千上萬台匿名FTP主機,這些主機上存放著數不清的文件,供用戶免費拷貝。實際上,幾乎所有類型的信息,所有類型的計算機程序都可以在Internet上找到。這是Internet吸引我們的重要原因之一。

匿名FTP使用戶有機會存取到世界上最大的信息庫,這個信息庫是日積月累起來的,並且還在不斷增長,永不關閉,涉及到幾乎所有主題。而且,這一切是免費的。

匿名FTP是Internet網上發布軟體的常用方法。Internet之所以能延續到今天,是因為人們使用通過標准協議提供標准服務的程序。像這樣的程序,有許多就是通過匿名FTP發布的,任何人都可以存取它們。

Internet中的有數目巨大的匿名FTP主機以及更多的文件,那麼到底怎樣才能知道某一特定文件位於哪個匿名FTP主機上的那個目錄中呢?這正是Archie伺服器所要完成的工作。Archie將自動在FTP主機中進行搜索,構造一個包含全部文件目錄信息的資料庫,使你可以直接找到所需文件的位置信息。

⑻ 能否用瀏覽器實現FTP的文件上傳下載

可以在我的電腦里實現,打開我的電腦,在地址欄輸入
FTP地址,然後用戶名和密碼後就可以用復制粘貼的形式上傳下載文件了,但是這種方法不能操作較大的文件,可能會中斷超時,建議還是用FTP工具

⑼ 使用網際網路的FTP功能,可以實現文件的上傳和下載

能。

ftp的主要功能是連接到FTP伺服器並操縱數據和數據的上傳下載以及備份,還有就是可以訪問物理遠程伺服器。

用戶將文件從FTP伺服器中拷貝並傳輸到終端機的過程就是下載(download)。上傳和下載過程是所能用到的再常見不過的操作過程。由於FTP伺服器承擔有文件存儲和傳播的重任,所以其與用戶的連接也有著三重限制。FTP伺服器在使用前必須要先登錄獲取遠程連接後,用戶才能接觸到所需文件。

(9)實現ftp的下載文件擴展閱讀:

注意事項:

避免出現零位元組文件。在上傳時,不要隨意中途停止操作,最好不要中途下線。

上傳文件要附上說明的文本文件,說明文件名應與文件名稱相同,如文件名稱為note.zip,說明文件名就應為note.txt,以方便別人了解你的文件內容,來進行取捨。

因為FTP站是多用戶系統,因此對於同一個目錄或文件,不同的用戶擁有不同的許可權。如果不能上傳或下載某些文件,或者抓下來的文件是零位元組,一般是因為用戶的許可權不夠。

⑽ c#怎麼實現下載FTP伺服器中的某個文件

public const string FTP_URL = "ftp://伺服器地址";

public const string FTP_USER_NAME = "user_name";

public const string FTP_PASSWORD = "pwd";

/// <summary>
/// 下載文件
/// </summary>
public void DownloadFile(string fileName)
{
// 連接對象
WebClient request = new WebClient();
// 用戶名/密碼.
request.Credentials = new NetworkCredential(FTP_USER_NAME, FTP_PASSWORD);
// 組合全路徑名.
string fullFileName = FTP_URL + fileName;
// Windows / FTP 路徑切換.
fullFileName = fullFileName.Replace('\\', '/');
// 預期的文件內容.
byte[] newFileData = null;
newFileData = request.DownloadData(fullFileName);
// 寫入文件.
WriteBinFile("本地文件名", newFileData);
}

private void WriteBinFile(string fileName, byte[] newFileData)
{
FileStream fs = null;
BinaryWriter bw = null;
try
{
// 首先判斷,文件是否已經存在
if (File.Exists(fileName))
{
// 如果文件已經存在,那麼刪除掉.
File.Delete(fileName);
}
// 注意第2個參數:
// FileMode.Create 指定操作系統應創建新文件。如果文件已存在,它將被覆蓋。
fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);
bw = new BinaryWriter(fs);
// 寫入數據.
bw.Write(newFileData);
// 關閉文件.
bw.Close();
fs.Close();
bw = null;
fs = null;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (bw != null)
{
try
{
bw.Close();
}
catch
{
// 最後關閉文件,無視 關閉是否會發生錯誤了.
}
}
if (fs != null)
{
try
{
fs.Close();
}
catch
{
// 最後關閉文件,無視 關閉是否會發生錯誤了.
}
}
}
}