1
저는 cgi를 통해 바이너리 파일 (예 : mp3 파일)을 제공하려고 노력해 왔습니다. 요점은 웹 서버 자체가 아닌 특수 스크립트를 통해서만 파일에 액세스 할 수 있도록하려는 것입니다. 지금까지 내가 가지고 :C++ cgi 파일 스트리밍
int main() {
cgiWriteEnvironment("/CHANGE/THIS/PATH/capcgi.dat");
cgiHeaderContentType("audio/mpeg");
FILE *fp;
fp=fopen("D:/something.mp3", "r");
char buffer[4];
while (!feof(fp)) {
fread(buffer, 4, 1, fp);
printf("%x",buffer);
}
return 0;
}
stdout에 뭔가를 태우고 및 브라우저 (그래서 헤더 ... 정확해야) VLC를 열려고하지만 선수
:-(데이터를 처리 할 수
16 진수가 아닌 2 진수를 써야합니다. fwrite를 사용하십시오. 또는 C++을 사용하고 있으므로 스트림 경로를 사용할 수 있습니다. 또한 4 개의 문자보다 큰 버퍼가 있어야합니다. 낮은 수준의 버퍼링은 대부분의 패널티를 처리해야하지만 거대한 파일을 펌핑하는 경우에는 4 char 버퍼가 작습니다 (8MB 파일은 fread에 2m 호출이 필요합니다). – Corbin