输入文件大小和类型

发布于 2025-01-15 05:15:48 字数 1359 浏览 1 评论 0原文

我是 Laravel 的新人。

如何将控制器中的文件大小和文件类型限制为 5mb?

public function add_presentation_detail(Request $request){
    $start_date     = $request->start_date;
    $input_file     = $request->file;

    $nik    = Sentinel::getUser()->nik;

    $data   = AccelerateMentee::select(
        'accelerate_mentee.*',
        'accelerate_rotation.start_date',
        'accelerate_rotation.id as id_rotation'
    )
    ->leftJoin('accelerate_rotation', 'accelerate_rotation.id_mentee', '=', 'accelerate_mentee.id')
    ->where([
        ['accelerate_mentee.nik', '=', $nik],
        ['accelerate_rotation.status', '<>', 'approved']
    ])
    ->first();

    if (!empty($request->file) && $request->hasFile('file')) {
        
        $filename       = $input_file->getClientOriginalName();
        $new_filename   = "presentation_" . "-" . $filename;
        $upload_file    = $input_file->storeAs('public/accelerate/',$new_filename);

    } else {

        $new_filename = null;

    }
    $update = AccelerateRotation::where('id', '=', $data->id_rotation)
    ->update([
        'status'            => 'submitted',
        'panel_time_start'  => $start_date,
        'file'              => $new_filename,
    ]);

    return redirect()->back();
}

希望大家回答我的问题,我真的很困惑。非常感谢你!

I'm new at Laravel.

How can I limit the file size to 5mb and file type in Controller?

public function add_presentation_detail(Request $request){
    $start_date     = $request->start_date;
    $input_file     = $request->file;

    $nik    = Sentinel::getUser()->nik;

    $data   = AccelerateMentee::select(
        'accelerate_mentee.*',
        'accelerate_rotation.start_date',
        'accelerate_rotation.id as id_rotation'
    )
    ->leftJoin('accelerate_rotation', 'accelerate_rotation.id_mentee', '=', 'accelerate_mentee.id')
    ->where([
        ['accelerate_mentee.nik', '=', $nik],
        ['accelerate_rotation.status', '<>', 'approved']
    ])
    ->first();

    if (!empty($request->file) && $request->hasFile('file')) {
        
        $filename       = $input_file->getClientOriginalName();
        $new_filename   = "presentation_" . "-" . $filename;
        $upload_file    = $input_file->storeAs('public/accelerate/',$new_filename);

    } else {

        $new_filename = null;

    }
    $update = AccelerateRotation::where('id', '=', $data->id_rotation)
    ->update([
        'status'            => 'submitted',
        'panel_time_start'  => $start_date,
        'file'              => $new_filename,
    ]);

    return redirect()->back();
}

Hope u guys answer my question, I'm really confused. Thank u so much!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文