Laravel 5 override summernote Загрузка изображений

Я хочу переопределить загрузку изображений в summernote с помощью метода arax laravel 5, но не могу заставить его работать.

Вот мой метод php

public function ajaxImage()
{
$file = Input::file('image');
$destinationPath = public_path();
$filename = $file->getClientOriginalName();
if(Input::file('image')->move($destinationPath, $filename)) {
echo $destinationPath.$filename;
}
}

и вот мой код JQuery:

$(document).ready(function(){
$('#description').summernote({
height: 300,

onImageUpload: function(files, editor, welEditable) {
sendFile(files[0], editor, welEditable);
}
});
function sendFile(file, editor, welEditable) {
var  data = new FormData();
data.append("file", file);
var url = '/articles/ajaximage';
$.ajax({
data: data,
type: "POST",
url: url,
cache: false,
contentType: false,
processData: false,
success: function(url) {
alert('Success');
editor.insertImage(welEditable, url);
}
});
}
});

и я получаю ошибку в консоли:

СООБЩЕНИЕ http://marcus.dev/articles/ajaximage 500 — внутренняя ошибка сервера)

0

Решение

Я узнал, как .. это
Проблема «TokenMismatchException в VerifyCsrfToken».

Источник: http://laravel.io/forum/01-30-2015-laravel5-tokenmismatchexception-in-verifycsrftoken

Я добавил это в шапку моего основного вида:

<meta name="csrf-token" content="{{ csrf_token() }}" />

и это в скрипте перед document.ready

$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});

и, наконец, метод php:

Route::post('ajaximage', function(){

$file = Request::file('file');
$destinationPath = public_path().'/uploads/';
$filename = $file->getClientOriginalName();
$file->move($destinationPath, $filename);
echo url().'/uploads/'.$filename;

});

2

Другие решения

Что касается Summernote версии 0.6.9, мы больше не можем использовать редактор в функции обратного вызова.

вместо

editor.insertImage(welEditable, url);

я использовал

$('#summernote').summernote('editor.insertImage', url);

Я не знаю, есть ли более чистая версия, но она работает.

1

По вопросам рекламы [email protected]