2017-08-22 29 views
0

私は地元で、それがうまく働いたが、私は、サーバーへの私のアプリを移動するので、私はこのエラーを取得しています、画像やファイルをアップロードするために私のアプリでthis packageを使用:Laravel elFinder画像のアップロードの問題

Call to a member function hasPermissionTo() on null in AdminMiddleware.php (line 22)

I Laravel 5.4ここ

でTinyMCEの4を使用して「メートルは私AdminMiddleware

<?php 

namespace App\Http\Middleware; 

use Closure; 
use Illuminate\Support\Facades\Auth; 
use App\User; 

class AdminMiddleware 
{ 
    /** 
    * Handle an incoming request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Closure $next 
    * @return mixed 
    */ 
    public function handle($request, Closure $next) 
    { 
     $user = User::all()->count(); 
     if (!($user == 1)) { 
      if (!Auth::user()->hasPermissionTo('Administer roles & permissions')) //If user does //not have this permission 
     { 
       abort('401'); 
      } 
     } 

     return $next($request); 
    } 
} 

であり、ここでに私のスクリプトです私はこの問題を持っているとどのようにそれを修正するために、なぜ

@section('scripts') 
<script type="text/javascript" src="{{asset('js/select2.min.js')}}"></script> 
<script> 
    var editor_config = { 
    path_absolute : "/", 
    selector: "textarea.my-editor", 
    plugins: [ 
     "advlist autolink lists link image charmap print preview hr anchor pagebreak", 
     "searchreplace wordcount visualblocks visualchars code fullscreen", 
     "insertdatetime media nonbreaking save table contextmenu directionality", 
     "emoticons template paste textcolor colorpicker textpattern codesample" 
    ], 
    toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image media | emoticons charmap | code codesample | forecolor backcolor", 
    relative_urls: false, 
    remove_script_host: false, 
    file_browser_callback : function(field_name, url, type, win) { 
     var x = window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth; 
     var y = window.innerHeight|| document.documentElement.clientHeight|| document.getElementsByTagName('body')[0].clientHeight; 

     var cmsURL = editor_config.path_absolute + 'laravel-filemanager?field_name=' + field_name; 
     if (type == 'image') { 
     cmsURL = cmsURL + "&type=Images"; 
     } else { 
     cmsURL = cmsURL + "&type=Files"; 
     } 

     tinymce.activeEditor.windowManager.open({ 
     file: '<?= route('elfinder.tinymce4') ?>',// use an absolute path! 
     title: 'File Manager', 
     width: 900, 
     height: 450, 
     resizable: 'yes' 
     }, { 
     setUrl: function (url) { 
      win.document.getElementById(field_name).value = url; 
     } 
     }); 
    } 
    }; 

    tinymce.init(editor_config); 
</script> 
<script> 
    {!! \File::get(base_path('vendor/barryvdh/laravel-elfinder/resources/assets/js/standalonepopup.js')) !!} 
</script> 
@endsection 

は誰でも知っていますか?

error image

+0

どのようなアイデア......? – mafortis

+0

同じエラーが発生しました。あなたはそれを解決しましたか? –

+0

まだ残念ながら。 – mafortis

答えて

0

は私がpublic_html

にパッケージフォルダ内のビューファイルをアップロード

を解決し、またelfinder middelwareは次のように配列に変更:

'middleware' => array('web', 'Auth'),

はすべて動作するようになりました。

0

あなたはAuth::user()使用しないすべてのユーザーは、ユーザーがすでにログインしているかどうかを確認しなければならない前に。あなたはそれを修正することができますので、あなたがnullのオブジェクトのメソッドを呼び出しているログインしている場合直前にAuth::check()メソッドを使用してください。

クイック例:

if(Auth::check()){ 
    //we have an user logged, let's check their permissions 
    if (!Auth::user()->hasPermissionTo('Administer roles & permissions')) { 

    } 
}else{ 
     // there aren't any user logged in 
} 
+0

これは私がポストを作成するのに使用し、ルートはミドルウェアの管理者によって保護されているので、明らかに私がログインしていなくても私は管理者ではありません。イメージをアップロードしたいページを見ることができません。問題。 – mafortis

+0

その後、完全なエラースタックトレースを確認する必要がありますが、この種のエラーはこのように解決されています。 – aaron0207

+0

完全なエラーは、私の質問で送信したイメージです。私はこのパッケージを使用して自分の投稿内に画像をアップロードします。 – mafortis

関連する問題