Я использую 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');
}
У меня такая же проблема при обновлении записи с новым изображением, сохранением имени '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
$request->file('image')->move(storage_path().'/public/images', $image_name);