今のところ、接続を介してHTMLコンテンツを作成することに問題はありません。
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",htmlstring);
write(*inputfd, toreturn, strlen(toreturn))
これは問題なく動作します。しかし、これは私が画像リクエストに応答して画像を渡そうとしているものです。この場合は.ico
ファイル用ですが、私の問題は任意のバイナリファイルに当てはまります。
FILE *writefile = (FILE *)calloc(1,sizeof(FILE));
char *charptr = inputaddress;
charptr++;
writefile=fopen(charptr,"r");
sprintf(toreturn, "%s\r\n%s\r\n%s\r\n\r\n", "HTTP/1.1 200 OK", "Content-Type: image/vnd.microsoft.icon", "Connection: close");
write(*inputfd, toreturn, strlen(toreturn))
write(*inputfd, *writefile, strlen(toreturn)
close(*inputfd);
fclose (writefile);
これは機能しません。write()
CでHTTPを介して画像(または任意のバイナリファイル)ファイルを使用するにはどうすればよいですか?