Как загрузить большие файлы в определенный каталог с помощью клиента Sabre PHP WebDAV?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как загрузить большие файлы в определенный каталог с помощью клиента Sabre PHP WebDAV?

Сообщение Anonymous »

Я хотел бы загрузить большие файлы (более 2 ГБ) в Nextcloud через веб-клиент Sabre dav
В настоящее время у меня есть код, который перечисляет файлы в определенном каталоге, поэтому я считаю, что этот код

Код: Выделить всё

// Will do a PUT request with a request body
$response = $client->request('PUT', 'file.txt', "New contents");
должно работать. Я попробовал это, и ничего не помогло

Код: Выделить всё

//$response = $client->request('PUT', 'A87J8HRS1 - simple pdf.pdf', "Test PDF.pdf");
Я думал, что этот код загрузится в корневую папку, но получилось

Код: Выделить всё

HP Fatal error:  Uncaught Sabre\HTTP\ClientException: URL rejected: Malformed input to a URL function in D:\data\projects\erp\scripts\php\vendor\sabre\http\lib\Client.php:327
Stack trace:
#0 D:\data\projects\erp\scripts\php\vendor\sabre\http\lib\Client.php(114): Sabre\HTTP\Client->doRequest()
#1 D:\data\projects\erp\scripts\php\vendor\sabre\dav\lib\DAV\Client.php(423): Sabre\HTTP\Client->send()
#2 D:\data\projects\erp\scripts\php\webDAV-listFiles.php(69): Sabre\DAV\Client->request()
#3 {main}
thrown in D:\data\projects\erp\scripts\php\vendor\sabre\http\lib\Client.php on line 327

$response = $client->request('PUT', 'upload/A87J8HRS1.pdf', file_get_contents('A87J8HRS1 - simple pdf.pdf'));
это возвращается. Обратите внимание, что каталог для загрузки существует

Код: Выделить всё

:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
Sabre\DAV\Exception\NotFound
Principal with name upload not found
Я тоже пробовал, но тоже не помогло

Код: Выделить всё

// $response = $client->request('PUT', '/upload/A87J8HRS1.pdf', file_get_contents('A87J8HRS1 - simple pdf.pdf'));
// $response = $client->request('PUT', '/A87J8HRS1.pdf', file_get_contents('A87J8HRS1 - simple pdf.pdf'));
Обратите внимание, что я не подключен к своему Nextcloud, поэтому у меня нет никакого контроля над сервером WebDAV. Я подключаюсь к cd.wedos.com — коммерческому сервису Nextcloud.

Подробнее здесь: https://stackoverflow.com/questions/792 ... dav-client
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»