Laravel 5 не может сохранить имя изображения в базе данных

1

Я использую Laravel 5.1

Я могу перемещать изображение в папку назначения с правильным именем, но в базе данных он сохранялся с именем temp, например D:\xampp\tmp\phpC7EA.tmp

form.blade.php

<div class="form-group">
    {!! Form::label('image', 'Upload Image', ['class'=>'control-label col-sm-4']) !!}
    <div class="col-sm-8">
        {!! Form::file('image', null) !!}
    </div>
</div>

TeacherController.php

public function store(TeacherRequest $request)
{
    Teacher::create($request->all());
    $image_name = $request->file('image')->getClientOriginalName();
    $request->file('image')->move(base_path().'/public/images', $image_name);
    Session::flash('success_message', 'Teacher has been added successfully!');
    return redirect('teacher');
}
  • 0
    вам нужно будет сбросить значение пути к изображению в таблице учителя после перемещения изображения в папку назначения, и я бы порекомендовал, чтобы, если загруженное изображение содержало некоторую конфиденциальную информацию, вам пришлось переместить его в каталог хранения в целях безопасности, например, так: $request->file('image')->move(storage_path().'/public/images', $image_name);
  • 0
    Спасибо за ваше предложение. я знаю, что это нужно сбросить. но как я могу это сделать?
Показать ещё 1 комментарий
Теги:
database
laravel-5.1

1 ответ

0
Лучший ответ

У меня такая же проблема при обновлении записи с новым изображением, сохранением имени 'C:\wamp\tmp\phpD10D.tmp' в правильном имени, но с именем tmp в базе данных, например 'C:\wamp\tmp\phpD10D.tmp' что я сделал до сохранения

$request['img'] = $imageName; //with new name
$images->update($request->all());

Я знаю, что это должно быть как $_FILE['img']['name'] = $imageName

но как управлять им в Laravel 5.1

Ещё вопросы

Сообщество Overcoder
Наверх
Меню