Closed artysold closed 7 months ago
Полагают что так
$uri = $disk->getUri()
->withPath( $disk->getUri()->getPath() . 'resources/upload')
-> withQuery(http_build_query(['path' => 'путь куда сохранить файл на диск/файл.ехт'])
$req = new Request ($uri, 'GET');
$response = $disk->send($req);
$result = json_decode($response->getBody());
Полагают что так
$uri = $disk->getUri() ->withPath( $disk->getUri()->getPath() . 'resources/upload') -> withQuery(http_build_query(['path' => 'путь куда сохранить файл на диск/файл.ехт']) $req = new Request ($uri, 'GET'); $response = $disk->send($req); $result = json_decode($response->getBody());
Спасибо!
Добрый день. Спасибо за Вашу работу!
Реализую интеграцию Yandex-диска в своё приложение, в рамках работы которого пользователь имеет возможность через web-интерфейс приложения загружать файлы со своего устройства на Yandex-диск.
На данный момент загружаемый пользователем файл сначала сохраняется на сервере приложения, откуда дальше отправляется на Yandex-диск. Такая логика хорошо работает на небольших файлах, но на крупных файлах время ожидания окончания загрузки файла получается очень большим, т.к. файл сначала должен дойти до сервера приложения, и только потом отправиться на Yandex-диск. Кроме того, такая логика подразумевает наличие на сервере приложения большого кол-ва свободного дискового пространства для сохранения пользовательских файлов перед отправкой их на Yandex-диск.
Решение этих проблем видится в прямой отправке пользовательских файлов сразу на Yandex-диск. Для этого в документации Yandex-диска предусмотрен "Запрос URL для загрузки" (https://yandex.ru/dev/disk-api/doc/ru/reference/upload#url-request). Нужно чтобы при загрузке пользовательского файла клиентская сторона приложения сделала запрос на сервер, получила в ответ URL для загрузки файла на Yandex-диск, после чего отправила файл по полученной ссылке.
Подскажите, пожалуйста, могу ли я выполнить запрос URL для загрузки файлов через Ваш пакет (если да, то как), или придётся реализовать эту логику самостоятельно? Также буду признателен за комментарии разработчиков, столкнувшихся с аналогичной задачей.