Das scheint wie eine wirklich einfache Aufgabe, also ertragen Sie mit mir. Ich versuche, einen Server zu erweitern, der Dateien und Webseiten bereitstellt. Derzeit wird der Server eine HTTP-Anforderung, analysiert sie und ruft eine Funktion namens sendfile:Serving up eine PNG-Datei über ifstream
void sendFile(ostream& ostr, std::string filename) {
std::ifstream ifs(filename.c_str(), std::ios_base::binary);
ostr << ifs.rdbuf();
}
Dieses Schema zur Zeit funktioniert gut für Textdateien wie JavaScript und CSS, die in demselben Verzeichnis wie der Server binär sind. Aber wenn ich versuche, eine PNG-Datei bereitzustellen, sitzt der Browser für immer. Es scheint, als wäre der Unterschied, dass die PNG-Datei keine Textdatei ist, aber wenn das tatsächlich das Problem ist, was sollte ich anstelle von ifstream verwenden? Ich sehe, dass das binäre Flag std :: ios_base :: angegeben ist.
Danke!