Можно ли получить статус прогресса при загрузке больших файлов в облачный с моего сервера?
Эта проблема:
У нас есть конечная точка API, где мы отправляем файл на наш сервер, затем наш сервер выполняет некоторые проверки и отправляет его в облачный сервис. Я пытаюсь найти способ показать правильный статус прогресса. Что я пробовал это:
$stream = file_get_contents('php://input');
try{
$resource = \Cloudinary\Uploader::upload($stream);
$this->_resource = $resource;
} catch( Exception $exp ){
echo "<pre>".print_r($exp)."</pre>";
return false;
}
но это бросает облачное исключение, что файл не может быть прочитан.
Вы можете обратиться к этому коду в примере проекта Cloudinary PHP —
https://github.com/cloudinary/cloudinary_php/blob/master/samples/PhotoAlbum/upload.php#L113
И здесь вы можете увидеть, как на самом деле реализован индикатор выполнения (в примере проекта Cloudinary GEM) — https://github.com/cloudinary/cloudinary_gem/blob/master/samples/photo_album/app/views/photos/new_direct.html.erb#L71
Других решений пока нет …