访问 PUT 路径中的文件 Laravel

Accessing file in PUT route Laravel

我正在构建一个 REST API 端点,它看起来像这样:(在 Laravel 4.2 中)

PUT /upload/{name}

这是 routes.php 中的 Route,它能够路由 PUT 请求。

Route::put('/upload/{name}', 'UploadController@upload')
->where('name', '[a-zA-Z0-9]+');

现在,这个请求的内容必须包含要保存的文件。我正在使用以下 curl 请求对端点进行初步测试。

curl -X PUT localhost/upload/filename -F filedata=@test.file

这就是在 PHP 中读取数据的方式:

$blob = file_get_contents('php://input', 'r' );

这不是给我实际的文件而是给我整个 HTTP 请求作为原始文本(预期的)。我什至尝试了 parse_str() 但没有成功。

如何在CLIPHP中使用curl发送PUT请求并随后在PHP中接收它们?我一直在为这种请求类型而苦苦挣扎。

正如@lukasgeiter 在上面的评论中正确指出的那样: 这是解决方案:

    use Request;   // needed in Laravel 5  
    $request = Request::instance();    // fetch the request instance
    $content = $request->getContent();   // get the raw content

我已经验证了内容的长度,它与 PUT.

的文件匹配