Как изменить путь хранения в 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 в вашем клинке? Спасибо