lumen图片上传

lumen和laravel中上传图片有些许差别,因为lumen框架下的没有config文件夹(当然如果不嫌费劲,你也可以自己建,自己改配置文件),要实现图片的上传可以在方法内定义。

我是用postman测试的,在postman的body下可以选择上传的是文件类型还是TEXT类型。

首先控制器中

    public function saveResultData(Request $request){
        
        $v =$this->validate($request,[
           'thumb'=>'required|image' 
        ]);
        $image= $v['thumb'];
        if ($image->isValid()) {

            //获取文件名自带后缀
            $imageName=$image->getClientOriginalName();
            //避免重名
            $time = time();
            $t= date("YmdHms_",$time);
            $name = $t.$imageName;

            //上传定义路径
            $dir = env("UPLOAD_DIR");
            $image->move($dir,$name);
            return '文件上传成功!';

        }else{
            return '文件不合法';
        }

    }

路径“UPLOAD_DIR”需要在根目录下的env文件内定义,这个你可以定义到你工程目录下的某个文件夹,为了方便。

UPLOAD_DIR=D:\uploads

然后在路由中定义,方法名是我根据项目起的,别见怪。

$router->post('saveResultData',
    ['as'=>'projectV.result.save',
        'uses'=>'V1\ResultController@saveResultData']);

如果是文件上传大同小异, 你只需要把validate中的验证规则改了就可以。如果你不想用validate验证,

你也可以直接 用Input::get( )。

发布了6 篇原创文章 · 获赞 8 · 访问量 6887

猜你喜欢

转载自blog.csdn.net/qq_38013157/article/details/83340098
今日推荐