2009-07-31 3 views
0

이것은 정말 간단한 작업처럼 보입니다. 나와 함께 감당하십시오. 파일과 웹 페이지를 제공하는 서버를 확장하려고합니다.ifstream을 통해 png 파일을 제공합니다.

void sendFile(ostream& ostr, std::string filename) { 
    std::ifstream ifs(filename.c_str(), std::ios_base::binary); 
    ostr << ifs.rdbuf(); 
} 

이 제도는 현재 서버 바이너리와 동일한 디렉토리에있는 텍스트 자바 스크립트와 같은 파일과 CSS를 잘 동작 : 현재 서버에 sendfile라는 함수를 그것을 구문 분석, HTTP 요청을 가져오고 호출합니다. 그러나 png 파일을 제공하려고하면 브라우저가 영원히 앉아 있습니다. 차이점은 png 파일이 텍스트 파일이 아닌 것 같지만 이것이 실제로 문제가된다면 ifstream 대신 무엇을 사용해야합니까? std :: ios_base :: binary 플래그가 지정되어있는 것을 볼 수 있습니다.

감사합니다.

답변

1

http 헤더에 길이와 MIME 유형을 설정해야합니다.

관련 문제