Как использовать метод COPY в WebDAV (nginx)?

Есть следующая проблема:
При попытке скопировать файл /from.png при помощи cURL в другую директорию методом COPY nginx ругается.

Конфиг nginx'а:
location ~ ^/path/.+\.png {
   root  /mnt/path/to/;
   client_max_body_size 2m;
   dav_methods          PUT DELETE COPY;
   create_full_put_path on;
   dav_access           group:rw all:r;
}


Вот такой запрос отправляется curl'ом (вывод с параметром verbose)
> COPY /path/dir/file.png HTTP/1.1
Host: localhost
Accept: */*
Destination: http://localhost/path/dir2/file2.png

< HTTP/1.1 500 Internal Server Error
< Server: nginx/1.10.0 (Ubuntu)
< Date: Fri, 25 Nov 2016 07:38:53 GMT
< Content-Type: text/html
< Content-Length: 202
< Connection: close
< 
* Closing connection 0


Ошибка в логе:
2016/11/25 14:38:53 [crit] 12205#12205: *626 open() "/mnt/path/to/path/dir2/file2.png" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: "COPY /path/dir/file.png HTTP/1.1", host: "localhost"


Директория dir2 не существует, можно ли как-то заставить nginx её создать и скопировать туда файл?
  • Вопрос задан
  • 512 просмотров
Пригласить эксперта
Ответы на вопрос 1
prolis
@prolis
Независимый разработчик BPM
Применить PUT-метод DAV

curl -T '/path/to/local/file.txt' 'example.com/test'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы