Laravel 上传图片

public function uploadFile(Request $request)
    {
        $file = $request->file('file');
        if (!$file) {
            return $this->fail(500, '上传出错');
        }

        try {
            $folder = 'uploads/' . date('Y/m/');
            $uploadPath = public_path() . '/' . $folder;

            $ext = $file->getClientOriginalExtension();
            $size = $file->getSize();
            $originalName = $file->getClientOriginalName();
            $path = $folder . Str::uuid()->toString() . '.'. $ext;
            $fullName = env('STATIC_HOST'). '/' .$path;

            $file->move($uploadPath, $path);

            $uploadModel = new Upload();
            $uploadModel->size = $size;
            $uploadModel->path = $path;
            $uploadModel->full_path = $fullName;
            $uploadModel->original_name = $originalName;
            $uploadModel->ext = $ext;
            $uploadModel->created_at = date('Y-m-d H:i:s');
            if (!$uploadModel->save()) {
                return $this->fail(500, '操作失败');
            }

            return $this->success($uploadModel->toArray());

        } catch (\Exception $e) {
            Log::channel('mysql')->error($e->getMessage());
            return $this->fail(500, '上传失败');
        }

    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容