Отдать файл из собственного обработчика
Sergey S.
neavirc at gmail.com
Thu Apr 3 18:46:53 MSD 2008
Здравствуйте.
Пытаюсь отдать файл из своего обработчика, но, вероятно, что-то делаю
неправильно; от сервера приходит только
HTTP/1.x 200 OK
Не подскажите куда копать?
Спасибо.
/////////////////////////////////////////////////////////////////////////////////////////////
r->headers_out.content_type.len = sizeof("image/gif") - 1;
r->headers_out.content_type.data = (u_char *)"image/gif";
ngx_file_t file;
file.fd = ngx_open_file("/home/sergey/img.gif", NGX_FILE_RDONLY,
NGX_FILE_OPEN, 0);
struct stat file_info;
stat("/home/sergey/img.gif", &file_info);
int file_size = file_info.st_size;
ngx_buf_t* b = static_cast<ngx_buf_t*>(ngx_pcalloc(r->pool, file_size));
ngx_read_file(&file, b->pos, b->end - b->last, 0);
ngx_close_file(file.fd);
ngx_chain_t out;
out.buf = b;
out.next = NULL;
b->memory = 1;
b->last_buf = 1;
r->headers_out.status = NGX_HTTP_OK;
r->headers_out.content_length_n = file_size;
ngx_http_send_header(r);
return ngx_http_output_filter(r, &out);
///////////////////////////////////////////////////////////////////////////////////
--
С уважением,
Сергей Самохин.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20080403/41d8bcae/attachment.html>
More information about the nginx-ru
mailing list