Scenario / Questions

I the have following setup in my conf file

upload_set_form_field $upload_field_name.name "$upload_file_name";

But I want change chosen param name to:

upload_set_form_field ($upload_field_name+"[name]") "$upload_file_name";

So I can get “attachment[name]” but this doesn’t work. I would be very happy if someone could help me with merging variables with string in nginx config file :).

Find below all possible solutions or suggestions for the above questions..

Suggestion: 1

This works:

set $foo = 'foo';
set $foobar "${foo}bar";

Suggestion: 2

Nginx does not have a concatenation character, rather it’s based on valid and invalid characters, for instance in the directive:

try_files $uri $uri/ @fallback;

$uri is the variable and / is a string to append since / cannot be in a variable name.

Similarly you should try

$upload_field_name[name] "$upload_file_name";

If this doesn’t work then try.

set $foo [name];
$upload_field_name$foo "$upload_file_name";

I cannot say if the upload module will even allow this, though.
Minor syntax errors might also be present.