laravel处理文件上传

思路

1、上传文件,并移动到指定目录

逻辑代码

public function uploadArticle(Request $request)
    {
        if ($request->isMethod('POST')) {
            $fileCharater = $request->file('file');
            if ($fileCharater->isValid()) { //括号里面的是必须加的哦
                //如果括号里面的不加上的话,下面的方法也无法调用的
                //获取文件的扩展名
                $ext = $fileCharater->getClientOriginalExtension();
                //获取文件的绝对路径
                $path = $fileCharater->getRealPath();
                //定义文件名 原文件名+时间+扩展名
                $filename = str_replace(strrchr($fileCharater->getClientOriginalName(), "."), "", $fileCharater->getClientOriginalName()) . '-' . date('Y-m-d-h-i-s') . '.' . $ext;
                //存储文件,disk里面的public。总的来说,就是调用disk模块里的public配置
                //Storage::disk('public/admin/article/picture/')->put($filename, file_get_contents($path));
                $path = file_put_contents(public_path() . '/admin/upload/article/picture/' . $filename, file_get_contents($path));
                if ($path) {
                    //将文件存储在数据库'/admin/upload/article/picture/'.$filename
                    return [
                        'code' => 200,
                        'data' => ['path' => '/admin/upload/article/picture/' . $filename],
                        'msg' => '文件上传成功',
                    ];
                }
                return ['code' => 500, 'msg' => '文件上传失败'];
            }
        }
        return ['code' => 500, 'msg' => '请使用post方式'];
    }

猜你喜欢

转载自blog.csdn.net/weixin_39218464/article/details/115052120