2012-03-19 126 views
0

我有一個用C++編寫的服務器,允許上傳文件。 但我想檢查第一,文件大小,然後上傳它,如果它小於100 MB,否則錯誤。 有沒有可以做到的功能?如何在C++中檢查最大文件大小上傳?

這是我的函數:

long bytes_read = recv(client_fd, tempBuffer, sizeof(tempBuffer),0); 

但同時接收文件,但只有後,我無法控制的VAR bytes_read緩存。 這是問題所在。

+0

是否支持'ulimit()'?我認爲你可以使用它。 – 2012-03-19 08:34:31

+0

這就是爲什麼你最好重新使用現有的協議。 'HTTP POST'有一個'Content-Length'頭。 – MSalters 2012-03-19 09:02:52

回答

0

你應該和之前的文件數據發送4個字節的文件長度:

int file_fize; 
recv(client_fd, &file_fize, sizeof(file_fize),0); 
recv(client_fd, buffer, file_fize,0); 
0

你應該把來自客戶端文件的大小之前發送文件本身。檢查大小並回復給客戶,如果你準備好接收它

相關問題