2015-07-29 5 views
2

У меня есть приложение Laravel и форма с dropzone. Обычно он работает хорошо. Но когда я пытаюсь загрузить большие файлы (50M - 60 M), я получаю эту ошибку TokenMismatchException.Laravel Dropzone TokenMismatchException для больших файлов

Я использую этот код для отправки маркера:

formData.append("_token", $('[name=_token]').val()); 

Я также изменил все php.ini настройки:

  • max_upload_size
  • set_time_limit(0);
  • memory_limit
  • post_max_size
  • max_input_time

Как было сказано выше, он работает для небольших файлов.

ответ

2

Я решил проблему. Это из-за файла php.ini. Я отредактировал и сохранил php.ini, но это не повлияло на выход функции phpinfo();. Результат показывал старые значения. Проверьте эту ссылку для решения:

Changes to upload_max_filesize in Ubunutu php.ini will not take effect

0

Если вы изменили все настройки php, это не должно быть проблемой. Однако, если это делается над AJAX, добавление _token к запросу является беспорядочным и взломанным. Вместо этого установите {{ csrf_token }} в качестве заголовка запроса. Более конкретно, установите его на заголовок X-CSRF-TOKEN, так как Laravel проверяет это в промежуточном программном обеспечении.