Thinkphp连接七牛云存储空间上传图片接口
关于tihnkphp框架和七牛云就不做介绍了,主要说下如何上传图片到七牛云存储空间,并获取链接地址。
第一步:获取七牛云的存储空间,有一个本地开发环境
第二步:获取七牛云上传图片配置,放在config.php文件内
//七牛云上传图片配置 'ACCESSKEY' => '',//你的accessKey 'SECRETKEY' => '',//你的secretKey 'BUCKET' => '',//上传的空间 'DOMAIN' => '',//空间绑定的域名
第三步:下载七牛云sdk放在vendor目录下,并写逻辑代码
下载地址: 点击下载
/** * 图片上传 * @return String 图片的完整URL */ public function upload() { vendor('Qiniu.autoload'); $file = request()->file('image'); // 要上传图片的本地路径 $filePath = $file->getRealPath(); $ext = pathinfo($file->getInfo('name'), PATHINFO_EXTENSION); //后缀 //获取当前控制器名称 $controllerName = 'index'; // 上传到七牛后保存的文件名 $key =substr(md5($file->getRealPath()) , 0, 5). date('YmdHis') . rand(0, 9999) . '.' . $ext; // 需要填写你的 Access Key 和 Secret Key $accessKey = config('ACCESSKEY'); $secretKey = config('SECRETKEY'); // 构建鉴权对象 $auth = new Auth($accessKey, $secretKey); // 要上传的空间 $bucket = config('BUCKET'); $domain = config('DOMAIN'); $token = $auth->uploadToken($bucket); // 初始化 UploadManager 对象并进行文件的上传 $uploadMgr = new UploadManager(); // 调用 UploadManager 的 putFile 方法进行文件的上传 list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath); if ($err !== null) { return json(['code'=>100,'msg'=>$err]); } else { //返回图片的完整URL $ret = $domain."/".$ret['key']; return json(['code'=>100,'msg'=>'上传成功','data'=>$ret]); } }
第四步:上传页面代码
/** * 图片上传 * @return [type] [description] */ public function index() { return view('qiniu/index'); }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action="{:url('Qiniu/upload')}" method="post" enctype="multipart/form-data"> <input type="file" name='image'> <input type="submit" value="上传"> </form> </body> </html>
以上就是七牛云图片上传接口,后续更新其他接口