Я пытаюсь реализовать загрузку файла jimpery blueimp с помощью приложения laravel. https://github.com/blueimp/jQuery-File-Uploadзагрузка загрузочного файла jQuery и laravel
Я создал форму, которая работает и ведет себя как ожидалось с помощью плагина, но у меня возникают проблемы с созданием сценариев на стороне сервера в laravel для обработки загрузки.
Я изменил форму действия следующим образом:
<form id="fileupload" action="{{ route('photos.post.upload') }}" method="POST"
enctype="multipart/form-data">
в main.js (часть плагина) Я установил URL для:
$('#fileupload').fileupload({
// Uncomment the following to send cross-domain cookies:
//xhrFields: {withCredentials: true},
url: '/photos/upload/'
});
В моем файле маршрутов Я создал маршрут следующим образом:
Route::any('photos/upload', [
'as'=>'photos.post.upload',
'uses' => '[email protected]'
]);
Моя функция в контроллере:
public function uploadImage()
{
dd(Input::file());
return Response::json(
array(
"files" => array(
"name" => "post"
))
);
}
На данный момент я просто хочу проверить получение данных формы. Однако при загрузке данные пустые.
Использование либо Route::any()
или Route::post()
но получаю ошибку 301 (перемещена)
Проверка в Google Chrome оказывается POST используется для загрузки, как и ожидалось, и выглядит как файл включается.
So.
- Почему я получаю ошибку 301 - то, что мне не хватает либо из яваскрипта стороны
- Почему
Input::file()
возвращение пустого
Любой помощь оценила
Laravel перенаправляет, если в URL-адресе присутствует конечная косая черта, например, у вас есть на 'url: '/ photos/upload /'', поэтому она будет перенаправлена с статусом 301 в URL без конечной косой черты. –
Aghhhhhh! СПАСИБО - потратил столько времени на это и не заметил этого. Обновлено main.js и все работает. , – Ray
Отлично! :) Добавлено это как ответ тоже. –