您现在的位置是:主页 > news > 建站之星安装说明/百度推广客户端电脑版
建站之星安装说明/百度推广客户端电脑版
admin2025/6/14 21:50:44【news】
简介建站之星安装说明,百度推广客户端电脑版,公司做零申报在哪个网站上,网站建设 爱诚科技公司需求: 与安卓交互需要用到图片上传,由于PHP接收不到文件形式,所以转成base64编码上传; 实现: 首先在控制器中引入加上 header(Content-type:text/html;charsetutf-8);vendor(Qiniu.autoload);use Qiniu\Auth as Auth;u…
建站之星安装说明,百度推广客户端电脑版,公司做零申报在哪个网站上,网站建设 爱诚科技公司需求: 与安卓交互需要用到图片上传,由于PHP接收不到文件形式,所以转成base64编码上传; 实现: 首先在控制器中引入加上 header(Content-type:text/html;charsetutf-8);vendor(Qiniu.autoload);use Qiniu\Auth as Auth;u…
需求:
与安卓交互需要用到图片上传,由于PHP接收不到文件形式,所以转成base64编码上传;
实现:
首先在控制器中引入加上
header('Content-type:text/html;charset=utf-8');vendor('Qiniu.autoload');use Qiniu\Auth as Auth;use Qiniu\Storage\UploadManager;
让安卓传两个参数,第一个参数“base64编码(看好编码前面必须是data:image/jpg;base64,开头的,不然上传失败)”,第二个参数:‘文件名不要后缀名’(这里根据自己的需要也可以不传文件名称,自己生成);
代码实现:
public function files(){//得到文件对象$base64_image_content = $_POST['file'];$addName = $_POST['filename'];$str = '';$str = $this->upload($base64_image_content,$addName);if(!empty($str)){return json(array('code'=>200,'msg'=>'上传成功','data'=>$str));} else {return json(array('code'=>400,'msg'=>'上传失败',));}}
执行上传代码
public function upload($base64_image_content,$addName){//匹配出图片的格式if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){$type = $result[2];$new_file = "./uploads/default/".date('Ymd',time());if(!file_exists($new_file)){//检查是否有该文件夹,如果没有就创建,并给予最高权限mkdir($new_file, 0777);}$new_file = $new_file.'/'.md5($addName).".{$type}";//print_r($new_file);die;//解码图片if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){//调用七牛云上传$res = $this->qinius($new_file,md5($addName));if($res){return $new_file;} else {// 上传失败获取错误信息$this->error('云上传失败,请重新上传');}}else{unlink($new_file);echo '保存失败';}}}
执行七牛云上传
public function qinius($filePath,$filename){//获取当前控制器名称//$controllerName = 'index';// 上传到七牛后保存的文件名$key = $filename;// 需要填写你的 Access Key 和 Secret Key$accessKey = '你自己的ak';$secretKey = '你自己的sk';// 构建鉴权对象$auth = new Auth($accessKey, $secretKey);//var_dump($auth);die;// 要上传的空间$bucket = '空间名;$domain = '七牛云空间域名';$token = $auth->uploadToken($bucket);// 初始化 UploadManager 对象并进行文件的上传$uploadMgr = new UploadManager();// 调用 UploadManager 的 putFile 方法进行文件的上传list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);if ($err !== null) {echo ["err"=>1,"msg"=>$err,"data"=>""];} else {//返回图片的完整文件名称return $ret;}}