Участник

Зарегистрирован: Jan 2003
Место проживания: Санкт-Петербург
Публикаций: 1
Статус:  |
Мне необходимо с серва получать определенные файлы по запросу
к примеру /cgi-bin/getfile.cgi?filename и все нодо делать на си чтобы слепить в exe ну и так далее. Я использую такой код приведен ниже. Новот сталкиваюсь с такими проблемами:
1. если файлбольшой то файл не скачать из за тайм аута.
2. озможно обрывание буфера если находится сивол в строке \0
помогите пожлуйста довести до ума. Желательно с поддержкой докачки. Все надо на Си++. Заранее благодарен.
long size=fillength();
printf("Accept-Ranges: bytes;\n"); //Get Range From Manager
//printf("Content-Range: bytes; %d\n"); //size - range
printf("Content-Length: bytes; %d\n\n",size); //size
printf("Content-Disposition: attachment; filename=data.bin\n");
printf("Content-Type: application/octet-stream\n");
printf("Content-Type: application/force-download\n");
printf("Content-Type: application/download\n");//ento dlya explorera
printf("Content-Transfer-Encoding: binary\n");
int handle;
if((handle=open("c:\\filename.ext",O_RDONLY|O_BINARY))==-1)
return;
char *buffer;
buffer=new char[filelength(handle)+1];
read(handle,buffer,filelength(handle));
close(handle);
//printf("%u" ,fwrite(buffer,filelength(handle),sizeof(char),std
out));
printf("%s",buffer);
delete [] buffer;
---
__________________
WBR. Sp!ZER
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|