使用laravel 4.2上传文件,在文件太大时无法正常工作

时间:2014-12-22 17:21:02

标签: php rest laravel

所以我已经坚持了一段时间,认为这可能会帮助其他人犯这种错误,也许你天才的家伙可以帮助我更好地理解这一点。

我一直在尝试通过用户资源更新上传文件(PUT方法) 当文件太大时我总是会得到“405 Method not Allowed”错误,如果文件大小正确,我就不会遇到这种错误。 php artisan routes(有问题的一行):

PUT user/{user} | user.update | UserController@update

即使尝试使用dd($ _ POST)或使用try和catch,我也会遇到同样的错误。

'Symfony\Component\HttpKernel\Exception\NotFoundHttpException' in C:\wamp\www\dsada\bootstrap\compiled.php:5693

一旦转到简单的帖子,一切都很完美。

我的功能代码:

  if($_POST==null)
        return Redirect::back()->with(['user' => $this->user, 'flash_bad' => 'too BIG']);
    try{
        if(Input::file('picture')==null)
            return Redirect::back()->with(['user' => $this->user, 'flash_bad' => 'must pick a picture']);
        $picture = Image::make(Input::file('picture'));
        $picture_size = $picture->filesize();
        $max_size_megabytes = 1;
        if($picture_size > $max_size_megabytes*1024*1024)
            return Redirect::back()->with(['user' => $this->user, 'flash_bad' => 'too big 2']);

    }catch (Exception $e){
        return Redirect::back()->with(['user' => $this->user, 'flash_bad' => 'wrong file type']);
    }

1 个答案:

答案 0 :(得分:0)

我认为它可以是你的php.ini中的upload_max_filesize和post_max_size的值。像这样更改它,但使用您认为可以解决问题的尺寸:

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M

您需要在更新后重新启动服务。