2015-09-27 5 views
0

Я использую ckeditor, и я пытаюсь загрузить файл. Это мой код:Загрузить файлы с помощью CKeditor

@extends('app') 
@section('header') 
<script type="text/javascript" src="{{url('ckeditor/ckeditor.js')}}"></script> 
@endsection 
@section('content') 
<div class="container"> 

    @include('common.errors') 
<div class="row"> 
       <div class="col-lg-12"> 

          <div class="row"> 
           <div class="col-lg-9"> 
    {!! Form::model($info, ['route' => ['infos.update', $info->id], 'method' => 'patch','files' => true]) !!} 

     @include('infos.fields') 

    {!! Form::close() !!} 
    </div> 
    </div> 
    </div> 
    </div> 
</div> 
@endsection 
@section('footer') 
<script type="text/javascript"> 
    CKEDITOR.replace('editor1',{ 

     filebrowserImageUploadUrl : "{{route('infos.upload')}}", 
     filebrowserWindowWidth : 800, 
     filebrowserWindowHeight : 500 
    }); 
    window.opener.CKEDITOR.tools.callFunction(CKEditorFuncNum,url); 
</script> 
@endsection 

Всякий раз, когда я пытаюсь загрузить файл, я получаю сообщение об ошибке токенов рассогласования. Конструктор форм автоматически добавляет скрытое поле csrf в основную форму, но поскольку загрузка файла (запрос POST) из ckeditor происходит через ajax, это дает мне эту ошибку. Я знаю, что я могу отключить эту ошибку, но когда я googled, я узнал, что это была плохая практика, чтобы отключить ее. Как я могу остановить получение этой ошибки и загрузить файлы?

ответ

2

Хорошо, поэтому я, наконец, получил его работу. Я посылаю токен csrf с запросом.

filebrowserImageUploadUrl : "{{route('infos.upload',['_token' => csrf_token() ])}}", 
0

Исправлена ​​ошибка CSRF на код ниже:

<script type="text/javascript"> 
CKEDITOR.replace('editor1',{ 

    filebrowserImageUploadUrl : "{{ url('your_url?_token='.csrf_token()) }}", 

}); 
</script> 
+1

Вы должны добавить некоторый текст, чтобы поддержать и объяснить свой ответ вместо этого просто быть блоком кода. – Minzkraut

+0

Не могли бы вы объяснить, что делает ваш код, что устраняет проблему? – Mike

Смежные вопросы