15年软件开发经验 只做源码定制 互联网+定制化解决方案

15年软件开发经验,只做源码定制!

原创设计 定制开发

满足您的个性化需求

当前位置:首页 后端开发 Thinkphp5

oss,上传到阿里云个人仓库,阿里云oss文件上传

教腾豪| 发布于 2021-09-27 18:22:29| 255阅读| 0点赞| 0评论
举报

阿里云oss文件上传,oss上传,$endpoin,$accessKeyId,$accessKeySecret

  • $accessKeyId 和 $accessKeySecret  $endpoin
  • 需要获取这三个参数在阿里云上
  • 下面上封装的方法,在HTML上调取方法,实现oss上传文件
  • <?php
    
    namespace app\test\controller;
    use think\Controller;
    use think\Request;
    use think\Db;
    use think\Cache;
    use OSS\OssClient;
    use OSS\Core\OssException;
    use OSS\Core\OssUtil;
    /*
    
     */
    class Upload extends Controller
    {
        public function image(){
            $file=$this->request->file('file','');
            if($file=='')return json(['code'=>'2','msg'=>'没有图片上传']);
            return $this->upload($file,'images',[]);
        }
    
        public function oss_image(){
            $file= $_FILES['file'];
            $accessKeyId = "";
            $accessKeySecret = "";
            $endpoint = "";
            $bucket= "";
            $dst = md5(time().$file['tmp_name'].mt_rand(1,999999)).'.'.substr($file['name'],strrpos($file['name'],'.')+1);; 
            $auth = new OssClient($accessKeyId,$accessKeySecret,$endpoint);
            try {
                $auth->setTimeout(9011);
                $auth->setConnectTimeout(9011);
                $result  = $auth->uploadFile($bucket,$dst,$file['tmp_name']);
                return json(['status'=>'success','msg'=>'','data'=>['url'=>$result['info']['url']]]);
            } catch (OssException $e) {
                 return $this->error($e->getMessage());
            }
        }
        private function upload($file,$module='image',$validate=array()){
            $path=str_ireplace('/',DS,$this->dir.DS.$module);
            $info = $file->validate($validate)->rule('date')->move(ROOT_PATH.$path);
            if($info){
                $data=[
                    'name'=>$info->getFilename(),//文件名
                    'filename'=>$info->getSaveName(),//带后缀的文件名
                    'ext'=>$info->getExtension(),//文件后缀
                    'src'=>str_ireplace('\\','/', $path.'/'.$info->getSaveName()),//路径
                    'filesize'=>$info->getSize(),//文件大小
                    'create'=>time(),
                ];
                return [
                    'code'=>0,
                    'status'=>'success',
                    'msg'=>'文件上传成功',
                    'data'=>$data,
                ];
            }else{
                return ['code'=>2,'status'=>'error','msg'=>'上传失败:'.$file->getError()];
            }
        }
    }
    
0

0条评论

别默默看啦~登录/注册一起参与讨论吧~

热门标签

教腾豪
微信扫一扫立即咨询
账号登录|扫码登录

立即注册 |忘记密码?

欢迎注册

已有账号马上登录

重置密码

扫码绑定微信
微信扫一扫

绑定手机号

分享到-微信

举报

  • 举报类型:

  • 举报描述:

您好,当前积分不足。

在线客服
拨打电话
17330196230 13230981129
顶部