Ver código fonte

图片上传功能修改

任敬轩 4 anos atrás
pai
commit
c6382f21bd

+ 19 - 9
app/Http/Controllers/Account/ProfileController.php

@@ -13,6 +13,7 @@ use Illuminate\Support\Facades\File;
 use Illuminate\Support\Facades\Hash;
 use Illuminate\Support\Facades\Storage;
 use Intervention\Image\Facades\Image;
+use DB;
 
 class ProfileController extends Controller
 {
@@ -76,6 +77,7 @@ class ProfileController extends Controller
         ];
 
         if($request->hasFile('user_avatar')){
+
             $this->validate($request,$validateRules);
             $user_id = $request->user()->id;
             $file = $request->file('user_avatar');
@@ -86,6 +88,7 @@ class ProfileController extends Controller
             if(in_array($extension, $extArray)){
 	            if($extension != 'jpg'){
                     Image::make(File::get($file))->save(storage_path('app/'.User::getAvatarPath($user_id,'origin')));
+                    Image::make(File::get($file))->save(app('path.public').'/static/uploads/user_origin_'.$user_id.'.jpg');
                 }else{
                     Storage::disk('local')->put($avatarDir.'/'.User::getAvatarFileName($user_id,'origin').'.'.$extension,File::get($file));
                 }
@@ -106,15 +109,22 @@ class ProfileController extends Controller
             $height = intval($request->input('height'));
 
             $user_id = $request->user()->id;
-
-            File::delete(storage_path('app/'.User::getAvatarPath($user_id,'big')));
-            File::delete(storage_path('app/'.User::getAvatarPath($user_id,'middle')));
-            File::delete(storage_path('app/'.User::getAvatarPath($user_id,'small')));
-
-            Image::make(storage_path('app/'.User::getAvatarPath($user_id,'origin')))->crop($width,$height,$x,$y)->resize(128,128)->save(storage_path('app/'.User::getAvatarPath($user_id,'big')));
-            Image::make(storage_path('app/'.User::getAvatarPath($user_id,'origin')))->crop($width,$height,$x,$y)->resize(64,64)->save(storage_path('app/'.User::getAvatarPath($user_id,'middle')));
-            Image::make(storage_path('app/'.User::getAvatarPath($user_id,'origin')))->crop($width,$height,$x,$y)->resize(24,24)->save(storage_path('app/'.User::getAvatarPath($user_id,'small')));
-
+//            File::delete(storage_path('app/'.User::getAvatarPath($user_id,'big')));
+//            File::delete(storage_path('app/'.User::getAvatarPath($user_id,'middle')));
+//            File::delete(storage_path('app/'.User::getAvatarPath($user_id,'small')));
+//
+//            Image::make(storage_path('app/'.User::getAvatarPath($user_id,'origin')))->crop($width,$height,$x,$y)->resize(128,128)->save(storage_path('app/'.User::getAvatarPath($user_id,'big')));
+//            Image::make(storage_path('app/'.User::getAvatarPath($user_id,'origin')))->crop($width,$height,$x,$y)->resize(64,64)->save(storage_path('app/'.User::getAvatarPath($user_id,'middle')));
+//            Image::make(storage_path('app/'.User::getAvatarPath($user_id,'origin')))->crop($width,$height,$x,$y)->resize(24,24)->save(storage_path('app/'.User::getAvatarPath($user_id,'small')));
+
+            File::delete(app('path.public').'/static/uploads/user_big_'.$user_id.'.jpg');
+            File::delete(app('path.public').'/static/uploads/user_middle_'.$user_id.'.jpg');
+            File::delete(app('path.public').'/static/uploads/user_small_'.$user_id.'.jpg');
+            Image::make(storage_path('app/'.User::getAvatarPath($user_id,'origin')))->crop($width,$height,$x,$y)->resize(128,128)->save(app('path.public').'/static/uploads/user_big_'.$user_id.'.jpg');
+            Image::make(storage_path('app/'.User::getAvatarPath($user_id,'origin')))->crop($width,$height,$x,$y)->resize(64,64)->save(app('path.public').'/static/uploads/user_middle_'.$user_id.'.jpg');
+            Image::make(storage_path('app/'.User::getAvatarPath($user_id,'origin')))->crop($width,$height,$x,$y)->resize(24,24)->save(app('path.public').'/static/uploads/user_small_'.$user_id.'.jpg');
+            $data['qrcode'] = '/static/uploads/user_big_'.$user_id.'.jpg';
+            DB::table('users')->where('id','=',$user_id)->update($data);
             return response()->json(array(
                 'status' => 1,
                 'msg' => '头像截剪成功'

+ 2 - 0
app/Http/Controllers/IndexController.php

@@ -85,6 +85,7 @@ class IndexController extends Controller
         $hotExperts = Cache::remember('index_hot_experts',Setting()->get('website_cache_time',1),function(){
             return  Authentication::hottest(8);
         });
+
         $hotUsers = Cache::remember('index_hot_users',30,function() {
             return  UserData::hottest(20);
         });
@@ -133,6 +134,7 @@ class IndexController extends Controller
         $data['password'] = Hash::make($data['password']);
         $data['site_notifications'] = implode(',', array_keys(config('tipask.notification_types')));
         $data['email_notifications'] = 'adopt_answer,invite_answer';
+        $data['qrcode'] = '/static/images/default_avatar.jpg';
         $user = $this->user->create($data);
 
         if ($user) {

+ 1 - 1
app/Models/UserData.php

@@ -92,7 +92,7 @@ class UserData extends Model
             ->where('users.status', '>', 0)
             ->orderBy('user_data.' . $type, 'DESC')
             ->orderBy('user_data.last_visit', 'DESC')
-            ->select('users.id', 'users.name', 'users.title', 'user_data.coins', 'user_data.credits',
+            ->select('users.id', 'users.name', 'users.title','users.qrcode', 'user_data.coins', 'user_data.credits',
                 'user_data.followers', 'user_data.supports', 'user_data.answers', 'user_data.articles',
                 'user_data.authentication_status')
             ->take($size)->get();

+ 5 - 5
resources/views/themes/default/article/create.blade.php

@@ -25,11 +25,11 @@
                     <input id="title" type="text" name="title"  class="form-control input-lg" placeholder="" value="{{ old('title',$formData['subject']) }}" />
                     @if($errors->has('title')) <p class="help-block">{{ $errors->first('title') }}</p> @endif
                 </div>
-                <div class="form-group @if($errors->has('logo')) has-error @endif">
-                    <label>文章封面</label>
-                    <input type="file" name="logo"/>
-                    @if($errors->has('logo')) <p class="help-block">{{ $errors->first('logo') }}</p> @else <p class="help-block">建议尺寸200*120</p> @endif
-                </div>
+{{--                <div class="form-group @if($errors->has('logo')) has-error @endif">--}}
+{{--                    <label>文章封面</label>--}}
+{{--                    <input type="file" name="logo"/>--}}
+{{--                    @if($errors->has('logo')) <p class="help-block">{{ $errors->first('logo') }}</p> @else <p class="help-block">建议尺寸200*120</p> @endif--}}
+{{--                </div>--}}
                 <div class="form-group  @if($errors->has('content')) has-error @endif">
                     <label for="article_editor">文章正文:</label>
                     <div id="article_editor">{!! old('content',$formData['content']) !!}</div>

+ 11 - 11
resources/views/themes/default/article/edit.blade.php

@@ -26,16 +26,16 @@
                     @if($errors->has('title')) <p class="help-block">{{ $errors->first('title') }}</p> @endif
                 </div>
 
-                <div class="form-group @if($errors->has('logo')) has-error @endif">
-                    <label>文章封面</label>
-                    <input type="file" name="logo" />
-                    @if($article->logo)
-                        <div style="margin-top: 10px;">
-                            <img src="{{ route('website.image.show',['image_name'=>$article->logo]) }}" />
-                        </div>
-                    @endif
-                    @if($errors->has('logo')) <p class="help-block">{{ $errors->first('logo') }}</p> @endif
-                </div>
+{{--                <div class="form-group @if($errors->has('logo')) has-error @endif">--}}
+{{--                    <label>文章封面</label>--}}
+{{--                    <input type="file" name="logo" />--}}
+{{--                    @if($article->logo)--}}
+{{--                        <div style="margin-top: 10px;">--}}
+{{--                            <img src="{{ route('website.image.show',['image_name'=>$article->logo]) }}" />--}}
+{{--                        </div>--}}
+{{--                    @endif--}}
+{{--                    @if($errors->has('logo')) <p class="help-block">{{ $errors->first('logo') }}</p> @endif--}}
+{{--                </div>--}}
 
 
                 <div class="form-group  @if($errors->has('content')) has-error @endif">
@@ -120,4 +120,4 @@
 
         });
     </script>
-@endsection
+@endsection

+ 1 - 1
resources/views/themes/default/doing/index.blade.php

@@ -15,7 +15,7 @@
                     <div class="stream-wrap media">
                         <div class="pull-left">
                             <a href="{{ route('auth.space.index',['user_id'=>$doing->user_id]) }}" target="_blank">
-                                <img class="media-object avatar-40" src="/static/images/default_avatar.jpg" alt="{{ $doing->user->name }}">
+                                <img class="media-object avatar-40" src="{{ $doing->user->qrcode }}" alt="{{ $doing->user->name }}">
                             </a>
                         </div>
                         <div class="media-body">

+ 3 - 3
resources/views/themes/default/home/index.blade.php

@@ -86,7 +86,7 @@
                         @foreach($hotExperts as $expert)
                             <section class="col-sm-6 col-md-3">
                                 <div class="thumbnail">
-                                    <a href="{{ route('auth.space.index',['user_id'=>$expert->user_id]) }}" target="_blank"><img class="avatar-128" src="/static/images/default_avatar.jpg" alt="{{ $expert->real_name }}"></a>
+                                    <a href="{{ route('auth.space.index',['user_id'=>$expert->user_id]) }}" target="_blank"><img class="avatar-128" src="/static/images/default_avatar.jpg" alt="{{ $expert->real_name }}" style="border:1px solid red;"></a>
                                     <div class="caption">
                                         <h4 class="text-center"><a href="{{ route('auth.space.index',['user_id'=>$expert->user_id]) }}" title="{{ $expert->real_name }}">{{ str_limit($expert->real_name,10,'') }}</a></h4>
                                         <p class="text-muted text-center" title="{{ $expert->title }}">{{ str_limit($expert->title,16,'') }}&nbsp;</p>
@@ -130,7 +130,7 @@
                     <ul class="user-list">
                         @foreach($hotUsers as $hotUser)
                             <li>
-                                <a href="{{ route('auth.space.index',['id'=>$hotUser->user_id]) }}" target="_blank" title="{{ $hotUser->user->name }}"><img class="avatar-50" src="/static/images/default_avatar.jpg" alt="{{ $hotUser->user->name }}"></a>
+                                <a href="{{ route('auth.space.index',['id'=>$hotUser->user_id]) }}" target="_blank" title="{{ $hotUser->user->name }}"><img class="avatar-50" src="{{ $hotUser->user->qrcode }}" alt="{{ $hotUser->user->name }}"></a>
                                 <span class="username"><a href="{{ route('auth.space.index',['id'=>$hotUser->user_id]) }}" title="{{$hotUser->user->name}}">{{ str_limit($hotUser->user->name,6,'')}}</a></span>
                             </li>
                         @endforeach
@@ -186,7 +186,7 @@
                 <ol class="widget-top10">
                     @foreach($topCoinUsers as $index => $topCoinUser)
                     <li class="text-muted">
-                        <img class="avatar-32" src="/static/images/default_avatar.jpg">
+                        <img class="avatar-32" src="{{ $topCoinUser['qrcode'] }}">
                         <a href="{{ route('auth.space.index',['user_id'=>$topCoinUser['id']]) }}" class="ellipsis" target="_blank">{{ $topCoinUser['name'] }}</a>
                         <span class="text-muted pull-right">{{ $topCoinUser['coins'] }} 金币</span>
                     </li>

+ 1 - 1
resources/views/themes/default/layout/public.blade.php

@@ -108,7 +108,7 @@
                             <li><a href="{{ route('auth.message.index') }}" class="active" id="unread_messages"><i class="fa fa-envelope-o fa-lg"></i></a></li>
                             <li class="dropdown user-avatar">
                                 <a href="{{ route('auth.profile.base') }}" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
-                                    <img class="avatar-32 mr-5" alt="{{ Auth()->user()->name }}" src="/static/images/default_avatar.jpg" >
+                                    <img class="avatar-32 mr-5" alt="{{ Auth()->user()->name }}" src="{{ Auth()->user()->qrcode }}" >
                                     <span>{{ Auth()->user()->name }}</span>
                                 </a>
                                 <ul class="dropdown-menu" role="menu">

+ 2 - 1
resources/views/themes/default/profile/base.blade.php

@@ -17,7 +17,8 @@
             <h2 class="h3 post-title">个人资料</h2>
             <div class="row mt-30">
                 <div class="col-md-3 col-md-push-9 text-center">
-                    <img class="avatar-128" id="user_avatar_image" src="{{ get_user_avatar(Auth()->user()->id,'big') }}" alt="头像">
+                    <img class="avatar-128" id="user_avatar_image" src="{{ Auth()->user()->qrcode }}" alt="头像">
+{{--                    {{ Auth()->user()->qrcode }}--}}
                     <div class="wu-example mt-10">
                         <div class="change-avatar">
                             <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#avatar_modal">修改头像</button>