【发布时间】:2017-11-18 18:51:18
【问题描述】:
我想更新个人资料照片,我正在使用 Laravel。执行此操作时,我收到一个错误...抱歉英语不好。
我包括了路由、ProfileController、admin.blade.php、profile.blade.php。
请帮我解决这个问题。
路线是:
Route::get('admin/profile/{username}', 'ProfileController@profile');
Route::post('admin/profile/{username}', 'ProfileController@update_avatar');
profile.blade.php
@extends('layouts.admin')
@section('content')
<style type="text/css">
.profile-img{
width: 150px;
height: 150px;
border: 5px solid white;
}
</style>
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">
<h4>{{ $user->username }}'s profile</h4>
</div>
<div class="panel-body">
<div class="col-md-3">
<center><img src="{{ asset('/uploads/avatars/'.$user-
>avatar) }}" class="img-responsive img-circle profile-img" alt=""
style="width: 150px;"></center>
</div>
<div class="col-md-4 text-center">
<h5>Set Your profile</h5>
<form action="{{ url('admin/profile/'.Auth::user()-
>username) }}" method="POST" enctype="multipart/form-data">
{{ csrf_field() }}
<input type="file" name="file" class="input-sm form-
control" required=""> <br>
<button class="btn btn-success btn-sm">Set
profile</button>
</form>
</div>
<div class="col-md-5 text-center">
{{ Auth::user()->name }} <br>
{{ Auth::user()->username }} <br>
{{ date('d-m-Y', strtotime(Auth::user()->dob)) }} <br>
{{ Auth::user()->email }} <br>
<button class="btn btn-warning btn-sm">Follow
me</button>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
admin.blade.php
<li><a href="{{ url('admin/proflie/'.Auth::user()->username) }}">My Profile</a></li>
profileController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Admin;
use App\User;
use Auth;
use Image;
class ProfileController extends Controller
{
public function __construct()
{
$this->middleware('auth:admin');
}
public function profile($username)
{
$user = Admin::where('username', $username)->first();
return view('admin.profile')->with('user'->$user);
}
public function update_avatar(Request $request)
{
if ($request->hasFile('file')) {
$avatar = $request->file('file');
$filename = $avatar->getClientOriginalName();
Image::make($avatar)->resize(300, 300)-
>save(public_path('/uploads/avatars/'. $filename));
$user = Auth::user();
$user->avatar = $filename;
$user->save();
}
return view('admin.profile')->with('user'->$user);
}
}
请帮帮我,谢谢。
【问题讨论】:
-
发布你得到的跟踪
-
检查您的 laravel 日志以查找导致此错误的请求。然后检查路线是否正确
-
我发现使用命名路由让整个事情变得更容易,所以
Route::get('/Products', 'ProductController@display')->name('CreateProducts');意味着我可以在刀片中引用route('CreateProducts')。 -
检查网址有错别字
proflie<li><a href="{{ url('admin/proflie/'.Auth::user()->username) }}">My Profile</a></li>
标签: php html css mysqli laravel-5