Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 29.03.2015 15:34:19

Добавление картинки на сервер. И сохранение его имени в таблице MySQL.

Доброго времени суток. Нужна помощь! Не получается добавить картинку на сервер и отобразить ее на страничке. Делал по гайду со стать http://habrahabr.ru/post/197454/ но там проблема с отправкой данных .ajax . Помогите исправить проблему или предложите еще какое-нибудь решение. Сам только начинаю изучать Laravel.

Не в сети

#2 31.03.2015 00:13:18

Re: Добавление картинки на сервер. И сохранение его имени в таблице MySQL.

Задача решена! Огромное спасибо ребятам https://gitter.im/LaravelRUS/chat :
Нужно было добавить token в POST запрос.
1)

<head lang="en">
    <meta name="_token" content="<?= csrf_token() ?>">

2)

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

3)

Route::filter('csrf', function(){
    $token = Request::ajax() ? Request::header('X-CSRF-Token') : Input::get('_token');
    if (Session::token() != $token){
        throw new Illuminate\Session\TokenMismatchException;
    }
});

4)

Route::post('/upload',array('before'=>'csrf', 'as'=>'upload', 'uses' => 'HomeController@uploadImage'));

Изменено anegin (31.03.2015 00:16:25)

Не в сети

#3 31.03.2015 08:35:50

Re: Добавление картинки на сервер. И сохранение его имени в таблице MySQL.

зачем фильтр? стандартная csrf-миддлварь именно так и работает. она уже из коробки идёт. вообще фильтры в л5 по-моему не нужны и существуют больше для обратной совместимости.

Не в сети

#4 01.04.2015 12:19:34

Re: Добавление картинки на сервер. И сохранение его имени в таблице MySQL.

У меня все работает и без этих 4-х пунктов, но в форму надо добавить поле

{!! Form::token() !!}

Не в сети

Подвал раздела