Загрузить файл в Laravel - неверный путь - PullRequest
0 голосов
/ 06 июля 2019

Я новичок в Laravel.У меня есть этот код:

if ($request->hasfile('profilePhoto')) {
            $this->validate($request, [
                'profilePhoto' => 'required',
                'profilePhoto.*' => 'mimetypes:image/jpg'
            ]);
            $image = $request->file('profilePhoto');
            $extension = strtolower($image->getClientOriginalExtension());
            $path = 'upload/images/UserImage/';
            $uniqueName = md5($image . time());
            $image->move(public_path($path), $uniqueName . '.' . $extension);
        }

Эта функция загружает файлы в public/upload/images/UserImage/.Мне нужно, чтобы он хранился в storage/app/upload/images/UserImage/ вместо

Как мне переписать свой код?

Ответы [ 4 ]

0 голосов
/ 06 июля 2019

Поскольку ваша переменная $ path уже объявлена ​​следующим образом $path = 'upload/images/UserImage/'. Поэтому вместо сохранения данных в public_path вы можете сохранить в storage_path().

$image->move(storage_path($path), $uniqueName . '.' . $extension);

0 голосов
/ 06 июля 2019
if ($request->hasfile('profilePhoto')) {
        $this->validate($request, [
              'profilePhoto' => 'required',
              'profilePhoto.*' => 'mimetypes:image/jpg'
        ]);
        $image = $request->file('profilePhoto');
        $extension = strtolower($image->getClientOriginalExtension());
        $path = storage_path('app/public/upload/images/UserImage');
        $uniqueName = md5($image . time());
        $image->move(public_path($path), $uniqueName . '.' . $extension);
 }
0 голосов
/ 06 июля 2019

Обычный способ загрузки в storage/app в Laravel - через локальный драйвер диска.

$file = $path . $uniqueName . '.' . $extension;
\Storage::disk('local')->put($file, $request->file('profilePhoto'));

Storage::disk('local') указывает на storage/app/.

0 голосов
/ 06 июля 2019

Вы должны использовать функцию storage_path (папка "storage / app / upload" должна существовать):

$image->move(storage_path("app/upload"), $uniqueName . '.' . $extension);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...