Как отправить изображение по протоколу HTTP в C?
Я учусь на веб-сервере, и мне нужна помощь.
У меня веб-сервер работает нормально для текстовых страниц, но всякий раз, когда браузер отправляет---GET /img.jpg HTTP/1.1
просьба, я нене знаю, как справиться с этим. Я'Вы слышали, что протокол HTTP основан на тексте, так как мне отправить изображение в моем ответе HTTP?
Вот сегмент, где я создаю свой нормальный HTTP-ответ, который я планирую использоватьreadresult == 2
сигнализировать изображение.
if(readresult == 1){
sprintf(toreturn, "%s\r\n%s\r\n%s\r\n\r\n%s", "HTTP/1.1 200 OK", "Content-Type: text/html", "Connection: close", readpagestring);
returnflag = 1;
}
else if(readresult == 2){
returnflag = 2;
}
else{
sprintf(toreturn, "%s\r\n%s\r\n%s\r\n\r\n%s", "HTTP/1.1 404 Not Found", "Content-Type: text/html", "Connection: close", readpagestring);
returnflag = 0;
}
И функция это вызывает
int readpage(char *readaddress, char *pagereturn){
FILE *inputfile = (FILE *)calloc(1,sizeof(FILE));
int flag;
int c;
int n = 0;
readaddress++;
inputfile=fopen(readaddress,"r");
if (inputfile==NULL){
FILE *missingfile;
missingfile=fopen("404.html","r");
while ((c = fgetc (missingfile)) != EOF){
*(pagereturn+n) = c;
n++;
}
flag = 0;
fclose (missingfile);
}
else{
while ((c = fgetc (inputfile)) != EOF){
*(pagereturn+n) = c;
n++;
}
flag = 1;
fclose (inputfile);
}
return flag;
}