2012-03-19 5 views
0

У меня есть сервер, написанный на C++, который позволяет загружать файлы. Но я хочу проверить FIRST, размер файла и ТОГДА загрузить его, если он меньше 100 МБ, иначе ошибка. Есть ли функция, которая может это сделать?Как проверить максимальный размер загружаемого файла на C++?

Это моя функция:

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

Но я не могу контролировать УАК bytes_read при получении файла, но только после того, как. В этом проблема.

+0

поддерживается 'ulimit()'? Я думаю, вы можете использовать его. –

+0

Вот почему вам лучше использовать существующие протоколы. 'HTTP POST' имеет заголовок' Content-Length'. – MSalters

ответ

0

Вы должны послать 4-байт длину файла перед данным файлом:

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

Вы должны послать размер файла от клиента перед отправкой самого файла. Проверьте размер и ответ на ваш клиент, если вы готовы его получить или нет.