當前位置:首頁 » 文件管理 » c文件上傳類

c文件上傳類

發布時間: 2022-07-24 02:47:30

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#C/S實現文件的上傳下載

用Socket, 服務端創建一個SocketServer,監聽指定的埠,客戶端連接到SocketServer,讀取文件,進行數據通訊。

❸ 在C#中,C\S模式,如何上傳一個文件

如要本地上傳的話,使用File文件流就可以實現了,如果要網路使用,那就用net命名空間了,使用上傳控制項也就實現的。

路過~

❹ c 實現文件上傳,獲取客戶端瀏覽器信息

uc瀏覽器就不錯,它的安裝包很小,不佔內存,不影響運行,瀏覽網頁速度很快。感覺不到有延遲響應。它的安全體系很高,無痕瀏覽,可以保護你的上網隱私。它的架構新,穩定性能極強,速度很快,可以瞬間載入經常內容。謝謝望採納。

❺ 怎麼用C實現Http POST功能向Http伺服器上傳文件

文件可以使用sendfile直接過去
比如剛開始是報文頭部結束\r\n\r\n直接write就可以
然後文件數據可以直接sendfile處理,
也可以
#define BUFSIZE 8196
while(read(fd,buf,BUFSIZE)>0){
write(...);
}
CONTENT-LENGTH是報文頭結束\r\n\r\n之後的位元組總數

❻ 如何用c語言實現上傳文件

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語言實現文件上傳

用c語言調用java程序
java沒有程序這一說,只有java解釋器。
要讓c調用java的東西
看看這篇文章;
http://developer.ccidnet.com/art/818/20030217/38068_1.html
太長了,我就不帖了

❽ 怎麼用cftpconnection類編寫向ftp server上傳文件

為了與FTP Internet伺服器通訊,必須先創建一個CInternetSession實例,然後創建CFtpConnection對象。創建CFtpConnection對象不採用直接方式,而是調用CInternetSession::GetFtpConnertion來創建並返回一個指向它的指針。

CFtpConnection類的成員

構造函數 CFtpConnection 構造一個CFtpConnection對象

操作 SetCurrentDirectory 設置當前FTP目錄

GetCurrentDirectory 獲取此次連接的當前目錄

GetCurrentDirectoryAsURL 獲取作為URL的此次連接的當前目錄

RemoveDirectory 從伺服器移去指定目錄

CreateDirectory 在伺服器上構造一個目錄

Rename 將伺服器上的文件改名

Remove 從伺服器上移去一個文件

PutFile 將一個文件放到伺服器上

GetFile 從連接的伺服器上獲取一個文件

OpenFile 在連接的伺服器上打開一個文件

Close 關閉與伺服器的連接

實例一:上傳文件
CString strAppName = AfxGetAppName();
CInternetSession* pSession = new CInternetSession(strAppName);
CFtpConnection* pConn = pSession->GetFtpConnection("
10.46.1.232","Anonymous","",21);
pConn->SetCurrentDirectory("test");
CString strLocfile,strRemotefile;
strLocfile="C:\\cmd.txt";
strRemotefile="cmd.txt";
pConn->PutFile(strLocfile,strRemotefile,FTP_TRANSFER_TYPE_ASCII);
pConn->Close();
return 0;
實例二:Ftp的打開文件操作函數:OpenFile

❾ 在c#中(c/s)如何實現將上傳的文件保存到指定的文件夾

參考一下我寫的上傳的事件,我把保存的路徑配置在web.cofig裡面了,(需要注意的是超過一定的大小4M的話就會發生前台的異常,而且這個異常後台沒辦法捕獲,網上有個傢伙寫的捕獲的異常的方法我試了,根本沒有用):

protected void btnSave_Click(object sender, System.EventArgs e)
{
HttpPostedFile postedFile = fileUploadInput.PostedFile;
String userType = this.ddlUserType.SelectedValue;
if (postedFile!=null)
{
//判斷文件是否小於10Mb
if (postedFile.ContentLength < 10485760)
{
try
{
//上傳文件並指定上傳目錄的路徑
String serverPath = System.Configuration.ConfigurationSettings.AppSettings["ReportPath"];
if(serverPath!=null)
{

String fileFullName = fileUploadInput.PostedFile.FileName;
String fileName = Path.GetFileName(fileFullName);
if(getUserManager().isFileNameExist(fileName))
{
lblMsg.Text = "Upload Failed:File with same name already exists!";
}
else
{
if (!Directory.Exists(serverPath))
{
Directory.CreateDirectory(serverPath);
}
postedFile.SaveAs(serverPath+fileName);
getUserManager().saveFileToDataBase(fileName,userType);

lblMsg.Text = "Upload Successfully!";
}

}
else
{
lblMsg.Text = "Upload Failed: Path not found!";
}

/*
* FileUpLoad1.PostedFile.SaveAs(Server.MapPath("~/Files/")+ FileUpLoad1.FileName);
* 注意->這里為什麼不是:FileUpLoad1.PostedFile.FileName
* 而是:FileUpLoad1.FileName?
* 前者是獲得客戶端完整限定(客戶端完整路徑)名稱
* 後者FileUpLoad1.FileName只獲得文件名.
*/

//當然上傳語句也可以這樣寫(貌似廢話):
//FileUpLoad1.SaveAs(@"D:\"+FileUpLoad1.FileName);

}
catch (Exception ex)
{
lblMsg.Text = "Upload Failed,Exception Occurs:" + ex.Message;
}

}
else
{
lblMsg.Text = "Upload Failed:The size of the file can not exceeded 10MB!";
}
}
else
{
lblMsg.Text = "File not seleced!";
}

}

❿ 能詳細說一下c/s模式下用c#客戶端實現文件上傳嗎

把文件序列化到流中,使用socket發送過去,在那邊在接收反序列化,轉換成文件

熱點內容
控制台緩存未清理 發布:2025-03-31 23:21:50 瀏覽:673
androidlistview分頁載入 發布:2025-03-31 23:15:49 瀏覽:269
android大圖片裁剪 發布:2025-03-31 23:15:41 瀏覽:981
多體交叉存儲器的 發布:2025-03-31 23:15:04 瀏覽:452
javatcpsocket 發布:2025-03-31 23:14:51 瀏覽:64
加拿大28預測99演算法 發布:2025-03-31 23:08:46 瀏覽:243
賺錢了腳本 發布:2025-03-31 23:08:02 瀏覽:983
html5php源碼 發布:2025-03-31 23:04:29 瀏覽:542
騰訊哪個游戲配置低點 發布:2025-03-31 23:02:16 瀏覽:432
androidsdk最新版下載 發布:2025-03-31 22:54:03 瀏覽:210