Я работаю на веб-сервере и создал функцию, которая отправляет файл и заголовки http при доступе к http://127.0.0.1:8080 странице
. Проблема заключается в том, что файл неправильно копируется.. это бросает некоторый мусор в конце .. (я пытаюсь передать двоичные файлы, поэтому я использую std :: ios :: binary) example.bin
My Example bin file
:)
Загруженный файл:
My Example bin file
:)ýýýýÝÝÝÝÝÝÝhjß/ÝÝ
мой код:
// download file http headers
message_ = "HTTP/1.0 200 OK\r\n"
"Cache-Control: public\r\n"
"Content-Description: File Transfer\r\n"
"Content-Disposition: attachment; filename=example.bin\r\n"
"Content-Type: application/zip\r\n"
"Content-Transfer-Encoding: binary\r\n\r\n";
std::filebuf *pbuf;
std::ifstream sourcestr;
long size;
char * buffer;
sourcestr.open("example.bin",std::ios::in | std::ios::binary);
pbuf=sourcestr.rdbuf();
size=pbuf->pubseekoff (0,std::ios::end,std::ios::in);
pbuf->pubseekpos (0,std::ios::in);
buffer=new char[size];
// get file data
pbuf->sgetn (buffer,size);
message_ += buffer;