如何在数据库中保存图像大小?

时间:2019-08-17 19:51:35

标签: laravel

我需要在数据库中保存kb大小才能在前端查看它,这是我正在使用的控制器。我正在使用Laravel 5.8

所以我的问题是Laravel是否提供了Facade来应对此类情况?还是任何其他具有更合适问题处理能力的框架是?

    public function addCourse(Request $request) {
        if ($request -> isMethod('post')) {
            $data = $request -> all();
            $course = new Courses;
            $course -> course_name = $data['course_name'];
            $course -> category_id = $data['course_sector'];
            $course -> course_code = $data['course_code'];
            if (!empty($data['course_description'])) {
                $course -> description = $data['course_description'];
            } else {
                $course -> description = "";
            }
            $course -> start_date = $data['start_date'];
            $course -> end_date = $data['end_date'];
            $course -> location = $data['course_location'];
            $course -> price = $data['course_price'];
            if ($request -> hasFile('course_image')) {
                $courseImage = Input::file('course_image');
                if ($courseImage -> isValid()) {
                    $extension = $courseImage -> getClientOriginalExtension();
                    $filename = rand(111,99999).'.'.$extension;
                    $large_image_path = "assets/manage_display/images/courses/large/".$filename;
                    $medium_image_path = "assets/manage_display/images/courses/medium/".$filename;
                    $small_image_path = "assets/manage_display/images/courses/small/".$filename;
                    Image::make($courseImage) -> save ($large_image_path);
                    Image::make($courseImage) -> resize (600,null, function ($constraint) {
                        $constraint -> aspectRatio();
                    }) -> save ($medium_image_path);
                    Image::make($courseImage) -> resize (300,null, function ($constraint) {
                        $constraint -> aspectRatio();
                    }) -> save ($small_image_path);
                    $course -> image = $filename;
                }
            }
            $course -> save();
            return redirect('/control/courses') -> with('flash_message_success', 'New Courses Added Successfully');
        }

        $coursesCategories = CoursesCategory::where(['parent_id' => 0]) -> get();
        $coursesCategories_dropdown ="<option selected disabled>Select</option>";
        foreach ($coursesCategories as $coursesCategory) {
            $coursesCategories_dropdown .= "<option class='font-weight-bold' value='".$coursesCategory -> id."'>".$coursesCategory -> name."</option>";
            $subCoursesCategories = CoursesCategory::where(['parent_id' => $coursesCategory -> id]) -> get();
            foreach ($subCoursesCategories as $subCoursesCategory) {
                $coursesCategories_dropdown .= "<option class='blockquote-footer' value='".$subCoursesCategory -> id."'>&nbsp;-&nbsp;".$subCoursesCategory->name."</option>";
            }
        }

        return view('layouts.manage_layouts.courses.add_course') -> with(compact('coursesCategories_dropdown'));
    }

1 个答案:

答案 0 :(得分:0)

您可以使用<script src="https://unpkg.com/moment@2.24.0/moment.js"></script>方法来获取上传文件的大小,然后将其存储在数据库中:

getSize()