Лучший подход - Прямая загрузка в облачное хранилище.
Как прямая загрузка потребности загружать данные файла только один раз в другом процессе вы должны сначала загрузить его некоторый временный файл, а затем из этого временного файла в облако хранения. Так как передача данных больше, это будет медленнее, и изображение может быть недоступно также до запуска заданий времени и перемещения его из временного местоположения в облачное хранилище.
Теперь давайте обратимся , как загрузить непосредственно в облачного хранения использованием Laravel. Ниже шаги могут быть выполнены, чтобы достичь этого: -
Импорт CloudStorageTools
use google\appengine\api\cloud_storage\CloudStorageTools;
Создать ведро URL непосредственно загрузки файлов
$bucket_options = ['gs_bucket_name' => $my_bucket]; $cloud_storage_upload_url = CloudStorageTools::createUploadUrl('/upload/handler', $bucket_options);
- Теперь над сгенерирована
$cloud_storage_upload_url
могут быть использованы в action
тег формы для загрузки файла напрямую.
Пример: -
<form action="{{ upload_url }}" enctype="multipart/form-data" method="post">
Сноска: - загрузка URL мы сгенерировали будет доступна только до 10 минут от его создания.
Также документация для этого же может быть найдена here.