You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When downloading files via link, the EventSource class is used to communicate with the JavaScript EventSource client which in turn updates the user visible progress bar. Albeit EventSource::send() performs a call to flush(), the data never makes it to the browser before the file is completely downloaded.
This is because nginx buffers the body for various reasons (this is usually the default behaviour). For example when gzip is on, the response has to be buffered in order to get the content-length header right.
I am using ownCloud on
php5-fpm
vianginx
.When downloading files via link, the EventSource class is used to communicate with the JavaScript EventSource client which in turn updates the user visible progress bar. Albeit
EventSource::send()
performs a call toflush()
, the data never makes it to the browser before the file is completely downloaded.This is because nginx buffers the body for various reasons (this is usually the default behaviour). For example when gzip is on, the response has to be buffered in order to get the content-length header right.
The manual at http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_buffering suggests that
header('X-Accel-Buffering: no')
could be used to disable buffering when necessary (which is desirable), but the option is not available before version 1.5.6.Furthermore, I can sofar confirm that using "fastcgi_keep_conn on;" in the nginx config also fixes the issue, although I am not 100% sure why.
The text was updated successfully, but these errors were encountered: