Не удается загрузить изображение в laravel-6, отображается ошибка: файл "E:\xampp\tmp\php3A05.tmp" не существует или не читается
Я хочу загрузить изображение в laravel-6.2, но покажу. Файл "E:\xampp\tmp\php3A05.tmp" не существует или не читается. Моя функция контроллера:
$data = new Vedio();
if($request->hasFile('image')){
$files = $request->file('image');
$extension = $files->getClientOriginalExtension();
$fileName = str_random(5) . "-" . date('his') . "-" . str_random(3) . "." . $extension;
$folderpath = 'public/'.'Vedio/' . date('Y') . '/';
$image_url = $folderpath . $fileName;
$files->move($folderpath, $fileName);
// $data['topheadline_image'] = $image_url;
$data->image = $image_url;
}
$data->link=$request->link;
$data->title=$request->title;
$data->status=0;
$data->save();
return redirect('/admin-dashbord/Vedio-list')->with('success','Data saved in database successfully');
}
Это код моего файла представления: Это код моего файла представления: Это код моего файла представления: Это код моего файла представления: Это код моего файла представления:
<form class="form-horizontal"action="{{url('/admin-dashbord/Vedio-post')}}" method="POST"enctype="multipart/form-data">
@csrf
<fieldset>
<div class="control-group">
<label class="control-label" for="focusedInput">Title</label>
<div class="controls">
<input class="input-xlarge " id="" name="title"type="text" value="">
</div>
</div>
<div class="control-group">
<label class="control-label" for="focusedInput">Link</label>
<div class="controls">
<input class="input-xlarge " id="" name="link"type="text" value="">
</div>
</div>
<div class="control-group">
<label class="control-label" for="focusedInput">Image</label>
<div class="controls">
<input class="input-xlarge " id="" name="image"type="file" value="">
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary">Save changes</button>
<button class="btn">Cancel</button>
</div>
</fieldset>
</form>
2 ответа
Если ваша версия Larval 6 не работает, вам необходимо установить Larval 6.2. Проверьте свой composer.json один раз.
Попробуйте заменить
$folderpath = 'public/'.'Vedio/' . date('Y') . '/';
к
$folderpath = public_path().'/Vedio/'. date('Y'). $fileName;
$files->move($folderpath);
$data->image = $folderpath;
Кроме того, я не знаю, почему вы сохраняете все $folderpath
в базе данных вы можете сохранить имя изображения только тогда, когда вы можете сделать что-то вроде
$image = public_path().'/Vedio/'.$data->image;