引导程序jquery文件上传和laravel


bootstrap jquery file upload and laravel

我正在尝试用laravel应用程序实现blueimp jquery文件上传。https://github.com/blueimp/jQuery-File-Upload

我已经使用插件设置了表单,它的工作和行为都符合预期,但我在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' => 'PhotosController@uploadImage'
]);

我在控制器中的功能:

public function uploadImage()
{
    dd(Input::file());
    return Response::json(
        array(
            "files" => array(
                "name" => "post"
            ))
    );
}

在这一点上,我只是想测试表单数据是否被接收。但是,上传时数据为空。

使用Route::any()Route::post(),但得到301错误(永久移动)

在谷歌chrome中检查时,似乎POST正按预期用于上传,并且看起来文件已包含在内。

所以。

  1. 为什么我会出现301错误-javascript方面缺少什么
  2. 为什么Input::file()返回空

感谢的任何帮助

Laravel在URL中存在尾部斜杠的情况下重定向,就像在url: '/photos/upload/'中一样,因此它将以301状态重定向到没有尾部斜杠的URL。