【问题标题】:How can I show error when file upload exceeds max upload limit? - Laravel当文件上传超过最大上传限制时如何显示错误? - 拉拉维尔
【发布时间】:2021-06-18 06:55:32
【问题描述】:

嗨,我正在为学校制作项目,它是一个用户可以上传视频的网站,我在 php.ini 上将最大上传文件设置为 85MB,问题是如果我上传的文件大于这个,则会抛出 QueryException,同样如果我填写的描述过大或名称过大,就会发生这种情况。

这是我的 VideoController 上的 store 方法(即使描述中的 max:255 无论如何都会抛出 QueryException)

public function store(Request $request)
{

    $request->validate([
        'title'=>'required|unique:videos|max:55',
        'desc'=>'required|max:255',
        'video'=>'required',
    ]);

    $pathV=$request->file('video')->store('videos','public');
    $user = Auth::user()->id;
    Video::create(['title'=>$request->title,
                    'cont'=>$pathV,
                    'desc'=>$request->desc,
                    'user'=>$user
        ]);
    $videos=Video::all();
    return view('videos.all',compact('videos'));
}

【问题讨论】:

    标签: php laravel upload max limit


    【解决方案1】:

    将此验证规则添加到验证数组 - file|max:85000

     $request->validate([
            'title' => 'required|unique:videos|max:55',
            'desc' => 'required|max:255',
            'video' => 'required|file|max:85000'
        ]);
    

    【讨论】:

    • 我添加了它,但是当我上传视频并超过最大限制(标题、描述或文件大小)时,它似乎无论如何都试图存储它并且它没有验证。我仍然收到查询异常错误。如果您需要复习更多课程,我可以毫无问题地提供。
    • 用这个替换'required|file|max:85000' - 'required|file|mimes:mp4,x-flv,x-mpegURL,MP2T,3gpp,qt,x-msvideo,x-ms-wmv|max:85000'
    • 它一直显示 title、desc 或 video 的 queryException 错误,无论超出限制。我不知道为什么,它不应该这样做。
    猜你喜欢
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 2017-03-15
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    相关资源
    最近更新 更多