2015-03-01 2 views
2

Я пытаюсь реализовать загрузку файла 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.

  1. Почему я получаю ошибку 301 - то, что мне не хватает либо из яваскрипта стороны
  2. Почему Input::file() возвращение пустого

Любой помощь оценила

+0

Laravel перенаправляет, если в URL-адресе присутствует конечная косая черта, например, у вас есть на 'url: '/ photos/upload /'', поэтому она будет перенаправлена ​​с статусом 301 в URL без конечной косой черты. –

+0

Aghhhhhh! СПАСИБО - потратил столько времени на это и не заметил этого. Обновлено main.js и все работает. , – Ray

+0

Отлично! :) Добавлено это как ответ тоже. –

ответ

5

Laravel перенаправляет если косая черта присутствует в URL-адресе, например, у вас есть url: '/photos/upload/', поэтому он будет перенаправлен с статусом 301 на URL без конечной косой черты.