Если вы видите что-то необычное, просто сообщите мне. Skip to main content

Загрузка файлов с помощью curl и nginx

Можно использовать DAV для PUT запросов, это то что уже есть в nginx. Указываем location по которому будем загружать файлы.

location /upload {
  alias     upload/data; #куда грузим
  client_body_temp_path  upload/client_tmp;

  dav_methods  PUT DELETE MKCOL COPY MOVE;

  create_full_put_path   on;
  dav_access             group:rw  all:r;

}

Не забываем установить размер файлов

client_max_body_size 10000m;

Загружаем с помощью curl

curl -T ubuntu-10.04.4-alternate-amd64.iso http://localhost/upload/blah2

Полная конфигцрация, curl загружаем и сразу же можно кому-то отдать файл:

server {
        listen 80;
        server_name _ gasanov-vm.dev.elama-team.ru;
        client_max_body_size 500m;
       	root /static;

        index index.html;

        location /sharedfiles/ {
       	       	autoindex on;
		autoindex_format html;
    		autoindex_localtime on;
        }

        location ~ "/upload/([0-9a-zA-Z-.]*)$" {
    	  alias sharedfiles/$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;
        
        }
  }