Laravel 5.6 загрузить изображение - PullRequest
0 голосов
/ 06 июня 2018

Я хочу загрузить изображения с помощью laravel: я создал поле в mysql:

imagepath varchar 250

Создал форму:

<form  method="post" id="formId" action="/ticket" enctype="multipart/form-data">
    {{ csrf_field() }}
    <div class="form-group ">...other fields
       <div class="form-group">
           <input type="file" class="form-control-file" name="imageFile" id="imageFile" aria-describedby="fileHelp">
       </div>

В моем контроллере:

public function store(Request $request)
{
    $fileName = request()->imageFile->getClientOriginalExtension();
    dd($fileName);//echos ".jpg"
    $tickes = Users::create(['imagePath' => $fileName]);
}

Однако моя БД всегда равна нулю! Я хочу сохранить ее в своей папке public / storage в Laravel.Пожалуйста, помогите!

Ответы [ 2 ]

0 голосов
/ 06 июня 2018
  1. Этот код сохраняет только расширение файла, а не путь к изображению.
  2. Вам необходимо сохранить файл в хранилище, прежде чем ваша база данных сможет получить путь к нему.У Laravel действительно хорошая документация, и эта ссылка поможет вам понять это.https://laravel.com/docs/5.6/filesystem
0 голосов
/ 06 июня 2018

вы можете использовать этот код для загрузки изображения в `public / storage / directory:

if ($request->hasFile('input_img')) {
    if($request->file('input_img')->isValid()) {
        try {
            $file = $request->file('input_img');
            $name = rand(11111, 99999) . '.' . $file->getClientOriginalExtension();

            # save to DB
            $tickes = Users::create(['imagePath' => 'storage/'.$name]);

            $request->file('input_img')->move("storage", $name);
        } catch (Illuminate\Filesystem\FileNotFoundException $e) {

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