Laravel - у вас нет прав доступа к / images / на этом сервере - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть проект Laravel, загруженный в Heroku.

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

" Запрещено У вас нет прав доступа к / images / на этом сервере."

Вот как выглядит моя функция store (),

public function store(Request $request)
{
    $this->validate($request, [
       'filename' => 'required',
       'filename.*' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048'
    ]);

    if ($request->hasFile('filename')) {
        foreach ($request->file('filename') as $image) {
            $name = $image->getClientOriginalName();
            $image->move(public_path() . '/images/', $name);
            $data[] = $name;
        }
    }

    return back()->with('success', 'Images uploaded successfully!');
}

1 Ответ

0 голосов
/ 07 ноября 2018

Это не решает вашу проблему как таковую. Но с другой проблемой вы столкнетесь позже.

Вам не следует загружать файлы непосредственно в файловую систему Heroku, если вы ожидаете, что они останутся. Heroku имеет эфемерную файловую систему . Каждый dyno является независимым контейнером. Каждый раз, когда ваше приложение перезапускается, запускается новый контейнер, что означает, что все, что хранится в файловой системе, навсегда потеряно.

Вы должны загрузить свои файлы в специальную систему хранения, такую ​​как Google Cloud или Amazon S3. Смотри https://devcenter.heroku.com/articles/s3-upload-php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...