bootstrap jquery文件上传和laravel

Ray*_*Ray 2 javascript php laravel blueimp jquery-file-upload

我正在尝试使用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">
Run Code Online (Sandbox Code Playgroud)

在main.js(插件的一部分)我已将url设置为:

$('#fileupload').fileupload({
    // Uncomment the following to send cross-domain cookies:
    //xhrFields: {withCredentials: true},
    url: '/photos/upload/'
});
Run Code Online (Sandbox Code Playgroud)

在我的路线文件中,我创建了一条路线,如下所示:

Route::any('photos/upload', [
    'as'=>'photos.post.upload',
    'uses' => 'PhotosController@uploadImage'
]);
Run Code Online (Sandbox Code Playgroud)

我在控制器中的功能:

public function uploadImage()
{
    dd(Input::file());

    return Response::json(
        array(
            "files" => array(
                "name" => "post"
            ))
    );
}
Run Code Online (Sandbox Code Playgroud)

此时我只想测试收到的表单数据.但是在上传时数据为空.

无论是使用Route::any()还是Route::post()却得到了一个301错误(永久移动)

检查谷歌浏览器它出现POST正在按预期用于上传,看起来像包含文件.

所以.

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

任何帮助赞赏

Mar*_*ean 5

如果URL中存在尾部斜杠,则Laravel会重定向,就像您所拥有的那样url: '/photos/upload/',因此它将被重定向到具有301状态的URL而没有斜杠.