laravel图片上传

/**
* @Name XXX
* @Description 上传图片接口
* @Param picture:图片 @ParamTest 图片文件
* @apiParam (params) {String} picture 图片文件
* @Response 通用格式:{“code”:响应码,“message”:“错误描述”,“data”:{}}
* data{
* path:“图片地址”,
* }
*
*/

public function uploadCompanyImg(Request $request){

    $file = $request->file('picture');
    header('Content-type: application/json');
    // 文件是否上传成功
    if ($file->isValid()) {
        // 获取文件相关信息
        $originalName = $file->getClientOriginalName(); //文件原名
        $ext = $file->getClientOriginalExtension();     // 扩展名

        $realPath = $file->getRealPath();   //临时文件的绝对路径

        $type = $file->getClientMimeType();     // image/jpeg
        $size =$file->getSize();
        $this->_result['code']=101;
        if($size > 2*1024*1024){
            $this->_result['message']='文件大小超过2M';
            echo json_encode($this->_result);
            exit();
        }
        $extArr = array('jpg','jpeg','png','gif');
        if(!in_array($ext,$extArr)){
            $this->_result['message']='文件格式不正确';
            echo json_encode($this->_result);
            exit();
        }

        // 拼接文件名称
        $filename = date('YmdHis') . uniqid() . '.' . $ext;
        // 使用我们新建的upload_company_img本地存储空间(目录)
        //这里的upload_company_img是配置文件的名称
        $bool = Storage::disk('upload_company_img')->put($filename, file_get_contents($realPath));

        if($bool){
            $this->_result['code']=200;
            $this->_result['message']='成功';
            $url='https://api.bxbedu.com/static/study/images/company/'.date('Ym',time()).'/'.$filename;
            $path='/static/study/images/company/'.date('Ym',time()).'/'.$filename;
            $this->_result['data']=array('url'=>$url,'path'=>$path);
            echo json_encode($this->_result);
        }else{
            $this->_result['message']='上传失败';
            echo json_encode($this->_result);
        }

    }else{
        $this->_result['message']='上传失败';
        echo json_encode($this->_result);
    }

}

‘upload_company_img’ => [

        'driver' => 'local',
        'url' =>  env('APP_URL').'/static',

        // 文件将上传到storage/app/uploads目录
        //'root' => storage_path('static/study/situation'),

        // 文件将上传到static/study/situation目录 如果需要浏览器直接访问 请设置成这个

        'root' => public_path('static/study/images/company/'.date('Ym',time())),
    ],
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值