Nginx - Как получить переменную, которая является числом из URL и установить его в переменную? - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь создать конфигурацию для файловых загрузок, получая их идентификаторы из URL.

Пример URL: example.com/fileupload/123

Это загрузит изображения в папку 123.

Текущая конфигурация:

location /fileupload/(^[0-9]+$)$ {
           if ($request_method = 'POST') {
              add_header 'Access-Control-Allow-Origin' '*';
              add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
              add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,fileheader';
              add_header 'Access-Control-Expose-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
           }
            default_type text/html;
            set $fileSavePath "C:\\server\\openresty\\user\\images\\"+$1;
            content_by_lua_file lua/fileupload.lua;
        }

Кажется, моя конфигурация не работает после перезагрузки.По сути, я пытаюсь получить числа из URL, а затем добавить их в существующую переменную пути.

Это правильный способ сделать это?

1 Ответ

0 голосов
/ 01 июня 2018

Как я помню, в Nginx нет конкатенации строк, поэтому вы не можете объединить строки, используя +

Просто записать как


    $fileSavePath "C:\\server\\openresty\\user\\images\\$1"

...