2015-06-29 11 views
1

Im пытается интегрировать облачное хранилище Google для загрузки файлов и обслуживания в приложении laravel, которое хранится в Google Compute Engine.Laravel Интеграция Google Cloud Storage

Что было бы лучше всего для этого? Правильно ли вы используете Google Cloud Storage?

Должен ли я использовать фасад хранилища для этого? или задание для копирования локальных файлов в облако?

Благодаря

ответ

0

Лучший подход - Прямая загрузка в облачное хранилище.

Как прямая загрузка потребности загружать данные файла только один раз в другом процессе вы должны сначала загрузить его некоторый временный файл, а затем из этого временного файла в облако хранения. Так как передача данных больше, это будет медленнее, и изображение может быть недоступно также до запуска заданий времени и перемещения его из временного местоположения в облачное хранилище.

Теперь давайте обратимся , как загрузить непосредственно в облачного хранения использованием Laravel. Ниже шаги могут быть выполнены, чтобы достичь этого: -

  1. Импорт CloudStorageTools
    use google\appengine\api\cloud_storage\CloudStorageTools;

  2. Создать ведро URL непосредственно загрузки файлов
    $bucket_options = ['gs_bucket_name' => $my_bucket]; $cloud_storage_upload_url = CloudStorageTools::createUploadUrl('/upload/handler', $bucket_options);

  3. Теперь над сгенерирована $cloud_storage_upload_url могут быть использованы в action тег формы для загрузки файла напрямую.
    Пример: -
    <form action="{{ upload_url }}" enctype="multipart/form-data" method="post">

Сноска: - загрузка URL мы сгенерировали будет доступна только до 10 минут от его создания.

Также документация для этого же может быть найдена here.

Смежные вопросы