CURL模拟post上传图片到七牛云

来源:互联网 发布:win10网络唤醒开机 编辑:程序博客网 时间:2024/04/30 15:15

CURL模拟post上传图片到七牛云
curl方法如下 Url为post地址 dataArr则为post数据,数组形式,key=>value

public function getCurlData($Url=false,$dataArr=[])    {        $postUrl = $Url === false ? $this->qiNiuUrl : $Url;        $ch = curl_init($postUrl);        curl_setopt($ch, CURLOPT_HEADER, 0);        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);        curl_setopt($ch, CURLOPT_POST, 1);        curl_setopt($ch, CURLOPT_POSTFIELDS, $dataArr);        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);        $returnData = curl_exec($ch);        return $returnData;    }

图片上传方法,将获得的qiniu uploadToken 与文件一起组成数组上传 注意文件curl中文件上传文件名前面需要加@符号。文件名为零时文件名即可。保存七牛云返回的key 拼接到对应bucket 的域名下 如www.domain.com/key即可访问到上传的图片

public function createAction()    {        $data = $this->input->post(null,true);        $this->load->model('m_curl');        $qiNiuTokenArr = $this->m_curl->getCurlData(FALSE,['picNumber'=>3]);        $uploadToken = json_decode($qiNiuTokenArr,true)['uploadToken'];        $uploadData = ['token'=>$uploadToken,'file'=>'@'.$_FILES['activityPic']['tmp_name']];        $fileUploadRes = $this->m_curl->getCurlData($this->qiNiuUploadActivityUrl,$uploadData);        print_r($fileUploadRes);    }
0 0
原创粉丝点击