Problem uploading file name - test"try.txt (with double quotes inside
file
name) under firefox browser.
It pass to backend file content as a file name.
On Wed, Apr 24, 2013 at 11:08:11AM -0400, motto wrote:
Problem uploading file name - test"try.txt (with double quotes inside file
name) under firefox browser.
It pass to backend file content as a file name.
as for nginx backend for debug purpose I use python-tornado script,
which
will just give back params, which nginx pass to it.
so here it is:
upload under Chrome:
{u’upfile.path’: [‘/usr/local/apps/Opus/temp/upload/6/0009495446’],
u’upfile.size’: [‘51’], u’upfile.name’: [‘test%22try.txt’], u’note’:
[‘’],
u’upfile.md5’: [‘5a089ad5ea93048b0d492d53626bf76b’],
u’upfile.content_type’:
[‘text/plain’]}
upload under Firefox:
{u’note’: [‘’], u’upfile’:
[‘erthtyjt\nrthy\ntrh\nrt\nh\nrt\nh\nrt\nh\nrth\nr\nth\nr\nth\n\nt\n\n’]}
Chrome does character encoding, but Firefox - just backspace double
quote
sign.
in case with firefox upload as you could see above, only “upfile” parameter
is available, while upfile.path, upfile.name and others are missing.
That could not be related to backend as I used the same backend while
uploading with the same form under Chrome and Firefox in above example.
Thank you.
Ah, ok, I understand now. You are using upload module by Valery
Kholodkov (http://grid.net.ru/nginx/upload.en.html). It indeed
changes the request body and might introduce the problem.
You may want to make sure you are able to reproduce the problem
with latest version of the upload module and report the problem to
the module author.
Sorry to be annoying, here is part of nginx config:
# Upload form should be submitted to this location
location /upload_test {
upload_pass @test;
upload_store /usr/local/apps/Opus/temp/upload 1;
upload_store_access user:r;
upload_set_form_field $upload_field_name.name
# Pass altered request body to a backend
location @test {
proxy_pass http://localhost:8080;
}
in case with firefox upload as you could see above, only “upfile”
parameter
is available, while upfile.path, upfile.name and others are missing.
That could not be related to backend as I used the same backend while
uploading with the same form under Chrome and Firefox in above example.
Thank you.
Posted at Nginx Forum:
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.