Как изменить путь хранения в laravel 5.3 для публики?

В laravel 5.3, если я загружу файл из формы, он будет сохранен в собственном каталоге хранилища. Затем я должен создать symlink для этого пути хранения в общедоступном пути.

Я не могу использовать создание символических ссылок в моей системе из-за ограничения. Как я могу загружать файлы непосредственно в public/uploads вместо storage/app/uploads?

Я попытался установить путь в AppServiceProvider.php, но он не работает.

public function register()
{
    //not working:
    $this->app->useStoragePath( $this->app->basePath() .  "/upload");

    //also not working:
    // $this->app->bind('path.storage', function () {
    // return $this->app->basePath() . '/upload';
    // });

}

"не работает" Я имею в виду, что он по-прежнему загружается в каталог хранения по умолчанию. Я также очистил кеш.

Вот часть загрузки (используется в контроллере):

        $request->image->storeAs("uploads", "uploaded_image.jpg");

Спасибо за любые подсказки.:)

Ответ 1

В Laravel 5 вам нужно сделать это в config/filesystems.php. Вы можете добавить новый диск следующим образом:

'disks' => [

    'uploads' => [
          'driver' => 'local',
          'root'   => public_path(), // previously storage_path();
    ],

]

а затем выполните следующие действия:

Storage::disk('uploads')->put('filename', $file_content);

Ответ 2

пожалуйста, какой URL вы использовали для отображения uploaded_image в вашем клинке? Спасибо