Nginx 简单 PUT 文件

Lon*_*nko 0 http nginx upload

我设置了以下配置:

 location /upl {
       root /storage/www/upl/data;
       client_body_temp_path   /storage/www/upl/client_tmp;

       dav_methods  PUT DELETE MKCOL COPY MOVE;

       create_full_put_path   on;
       dav_access             group:rw  all:r;
  }
Run Code Online (Sandbox Code Playgroud)

我使用以下命令上传文件:curl -T test.txt http://x.xx.xx.xx:8080/upl

我的所有文件最终都位于数据文件夹中,但所有文件都具有相同的名称“upl”,与位置相同?!为什么:S

请帮忙

BR,

Clé*_*don 5

您可以通过在 URL 中指定文件名来完成此操作,而不使用任何外部模块:

location ~ "/upl/([0-9a-zA-Z-.]*)$" {
        alias     /storage/www/upl/$1;
        client_body_temp_path  /tmp/upl_tmp;
        dav_methods  PUT DELETE MKCOL COPY MOVE;
        create_full_put_path   on;
        dav_access             group:rw  all:r;
}
Run Code Online (Sandbox Code Playgroud)

并使用:curl -T test.txt http://x.xx.xx.xx:8080/upl/text.txt