當前位置:首頁 » 文件傳輸 » MFC寫程序ftp上傳大文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

MFC寫程序ftp上傳大文件

發布時間: 2022-12-08 07:27:49

① C# 如何實現ftp上傳整個文件夾

遞歸演算法啊!先在伺服器上創建文件夾,然後文件夾內的文件,然後創建文件夾內的文件夾這樣遞歸下去!

② 如何用C++實現FTP文件上傳的程序

給你個例子
#include <afxinet.h>
void main()
{
BOOL dRes,pRes;
HINTERNET hInternet;
HINTERNET hConnect;
hInternet = InternetOpen("A3GS Sample", INTERNET_OPEN_TYPE_DIRECT,
NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE);
if ( NULL == hInternet )
{
printf("InternetOpen Error:%d\n", GetLastError() );
}
hConnect = InternetConnect(hInternet, "127.0.0.1", INTERNET_DEFAULT_FTP_PORT,
"ww123", "12345", INTERNET_SERVICE_FTP,
INTERNET_FLAG_EXISTING_CONNECT || INTERNET_FLAG_PASSIVE,0 );
if ( NULL == hInternet )
{
printf( "InternetConnect Error:%d\n", GetLastError() );
InternetCloseHandle(hInternet);
}

dRes = FtpGetFile(hConnect, "./wwyy/download/test1.txt", "D:\\BT\\test1.txt", FALSE,
FILE_ATTRIBUTE_ARCHIVE, FTP_TRANSFER_TYPE_UNKNOWN, 0);
if ( dRes == 0 )
{
printf( "FtpGetFile Error:\n", GetLastError() );
}else{
printf( "下載文件成功!\n" );
}
pRes = FtpPutFile(hConnect,"D:\\BT\\hhsj.txt","hhsj.txt",FTP_TRANSFER_TYPE_ASCII,0);
if(pRes==0)
{
printf("上傳文件失敗!\n");
}else{
printf("上傳文件成功!\n");
}
InternetCloseHandle(hConnect);
InternetCloseHandle(hInternet);
if(dRes&&pRes) return true;
else return false;

③ ftp傳大文件怎樣傳啊

慢慢傳,反正大部分FTP都支持斷點續傳的。
不過你要注意你的下載目錄是不是在NTFS格式的盤上,否則不支持大於4G的文件。

④ ftp上傳文件命令

可以使用重定向「<」來實現

不過需要寫好FTP腳本

FTP命令可以自己網路下試試。基本上是這樣

ftp 連接的伺服器埠

輸入用戶名

密碼

bin

(如果有下層文件夾需要先CD文件夾)

get 文件名(這是下載單個文件)

mget 文件名1 文件名2等支持通配符

quit 退出

擴展

什麼是FTP呢?FTP 是 TCP/IP 協議組中的協議之一,是英文File Transfer Protocol的縮寫。該協議是Internet文件傳送的基礎,它由一系列規格說明文檔組成,目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。簡單的說,FTP就是完成兩台計算機之間的拷貝,從遠程計算機拷貝文件至自己的計算機上,稱之為「下載(download)」文件。若將文件從自己計算機中拷貝至遠程計算機上,則稱之為「上載(upload)」文件。在TCP/IP協議中,FTP標准命令TCP埠號為21,Port方式數據埠為20。FTP協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的操作系統無關。假設兩台計算機通過ftp協議對話,並且能訪問Internet, 你可以用ftp命令來傳輸文件。每種操作系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。
FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數據傳輸模式。
1.ASCII傳輸方式:假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。
但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,資料庫,字處理文件或者壓縮文件(盡管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字型檔等信息的非列印字元)。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。
2.二進制傳輸模式:在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
如果你在ASCII方式下傳輸二進制文件,即使不需要也仍會轉譯。這會使傳輸稍微變慢 ,也會損壞數據,使文件變得不能用。(在大多數計算機上,ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。
5. FTP的工作方式
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
下面介紹一個這兩種方式的工作原理:
Port模式FTP 客戶端首先和FTP伺服器的TCP 21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠接收數據。在傳送數據的時候,伺服器端通過自己的TCP 20埠連接至客戶端的指定埠發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。
Passive模式在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而是Pasv命令。FTP伺服器收到Pasv命令後,隨機打開一個高端埠(埠號大於1024)並且通知客戶端在這個埠上傳送數據的請求,客戶端連接FTP伺服器此埠,然後FTP伺服器將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
很多防火牆在設置的時候都是不允許接受外部發起的連接的,所以許多位於防火牆後或內網的FTP伺服器不支持PASV模式,因為客戶端無法穿過防火牆打開FTP伺服器的高端埠;而許多內網的客戶端不能用PORT模式登陸FTP伺服器,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。

⑤ 代碼中使用ftp上傳多個文件只能成功上傳第一個

代碼中使用ftp上傳多個文件只能成功上傳第一個是程序錯亂。根據查詢相關資料信息,在寫一個FTP上傳多個文件的winform程序時出現一個怪現象,每次只能成功上傳一個文件,是由於FTP伺服器出現了程序錯亂導致的,只能進行修改程序後重試。FTP是FileTransferProtocol(文件傳輸協議)的英文簡稱,而中文簡稱為文傳協議。用於Internet上的控制文件的雙向傳輸。

⑥ 求MFC編寫的FTP伺服器和客戶端程序

我這有一個以前自學用的例子,你看看需要不?

運行程序,打開程序主界面,如圖1.1所示。輸入FTP伺服器IP地址、伺服器埠、用戶名及密碼,單擊「快速登錄」按鈕,連接FTP伺服器。連接成功後,設置下載文件存儲目錄,然後就可以上傳及下載文件了。下載文件過程中,可以暫停及刪除下載任務。

圖1.1 FTP文件上傳下載模塊主窗口

在「功能選項」菜單下選擇「下載後關機」命令,文件下載完成後,自動關閉計算機。

⑦ MFC 通過FTP上傳文件時,怎樣設置上傳的具體

你好,
1、方法1、直接寫相對目錄啊。假如你伺服器ftp根目錄是「C:\A文件夾」,你想傳到「C:\A文件夾\B文件夾」下,就傳參數「/B文件夾」。前提是你ftp連接的當前目錄是根目錄。
2、伺服器上直接寫相對目錄不是更簡單,判斷目錄是否存在,不存在創建後在用SetCurrentDirectory()就行了。

⑧ 如何使用FTP上傳文件

1、下載軟體FileZilla(用的比較多的一款),

⑨ 急求一個用VC++6.0 mfc編寫的FTP的客戶端,要求一般的上傳下載的功能,還需要斷點續傳功能

linux下有個c語言寫的命令行下載工具wget,支持斷點續傳。
因為沒有界面,看起來核心內容會容易些。
介紹與代碼下載:
http://www.gnu.org/software/wget/
支持http/ftp下載,斷點續傳參數為-c,例如
wget -c ftp://aaa.iso

⑩ mfc怎麼實現上傳文件到ftp客戶端並用進度條顯示傳輸進度

創建一個線程,把this傳進去,在新線程(其實就是個函數)里搞個循環,讀取文件,設置進度,發送刷新進度條消息,直到讀取完畢,break。