mirror of
https://gitlab.com/mojo42/Jirafeau.git
synced 2025-04-22 12:36:17 +02:00
[BUGFIX] lower POST size when ̀PHP's upload_max_filesize is too low.
When post_max_size == upload_max_filesize, Jifeau sends too large request (files + headers) and serveur still returns 200. Jirafeau does not see any files and return Error 23. Javascript client now detect this error and retry with a lower file size to make room for headers. closes #240 Signed-off-by: Jerome Jutteau <jerome@jutteau.fr>
This commit is contained in:
parent
989cb76f32
commit
a20a3a2f4c
@ -494,7 +494,16 @@ function async_upload_push (code)
|
||||
{
|
||||
var res = req.responseText;
|
||||
|
||||
if (/^Error/.test(res))
|
||||
// This error may be triggered when Jirafeau does not receive any file in POST.
|
||||
// This may be due to bad php configuration where post_max_size is too low
|
||||
// comparing to upload_max_filesize. Let's retry with lower file size.
|
||||
if (res === "Error 23")
|
||||
{
|
||||
async_global_max_size = Math.max(1, async_global_max_size - 500);
|
||||
async_upload_push (async_global_last_code);
|
||||
return;
|
||||
}
|
||||
else if (/^Error/.test(res))
|
||||
{
|
||||
pop_failure (res);
|
||||
return;
|
||||
@ -504,15 +513,17 @@ function async_upload_push (code)
|
||||
var code = res[0]
|
||||
async_global_transfered = async_global_transfering;
|
||||
async_upload_push (code);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (req.status == 413) // Request Entity Too Large
|
||||
{
|
||||
// lower async_global_max_size and retry
|
||||
async_global_max_size = parseInt (async_global_max_size * 0.8);
|
||||
async_global_max_size = Math.max(1, parseInt (async_global_max_size * 0.8));
|
||||
}
|
||||
async_upload_push (async_global_last_code);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user