bootstrap 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">

in 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 错误(永久移动)

签入 google chrome 似乎 POST 正按预期用于上传,看起来文件已包含在内。

所以。

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

感谢任何帮助

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