博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
七牛云的使用
阅读量:7216 次
发布时间:2019-06-29

本文共 2958 字,大约阅读时间需要 9 分钟。

1、https://www.qiniu.com/用qq或者微信登入七牛云

2、添加一个对象存储

3、在个人中心获取appkey和appsecret

4、绑定一个域名

5、把sdk放在自己的项目中

封装一个上传的类

access_key = $config['access_key']; $this->secret_key = $config['secret_key']; $this->domain = $config['domain']; } /** * 获取上传图片的凭证 * @param string $bucket 空间名 * @param string $resource_key 资源名称 * @param int $deadline token有效时间 * @param array $opts 自定义参数 * 'insertOnly'=>1, 只能新增图片 * 'mimeLimit'=>'image/*', 只允许上传图片 * * @return string */ public function getUploadToken($bucket, $resource_key, $deadline = 3600, $opts = null) { $auth = new \Qiniu\Auth($this->access_key, $this->secret_key); return $auth->uploadToken($bucket, $resource_key, $deadline, $opts); } /** * 直传文件到七牛云 * @param string $upload_token * @param string $key * @param string $filename * @return array */ public function uploadFile($upload_token, $key, $filename) { $uploader = new \Qiniu\Storage\UploadManager(); return $uploader->putFile($upload_token, $key, $filename); } /** * 获取公共空间的资源访问链接 http://p7sqxug2z.bkt.clouddn.com/ * @param string $key 资源名 * @param string $scheme * @return string */ public function getPublicResourceUrl($key, $scheme = 'http') { $key = ltrim($key, "/"); return "{
$this->domain}/{
$key}"; } /** * 获取访问资源的域名 * @return string */ public function getVisitDomain($scheme = 'http') { return "{
$scheme}://{
$this->domain}/"; } }

代码中这样写

/**     * 图片上传到七牛云     * @param string $tmpLocation 临时图片地址 绝对地址,/www/initphp/www/upload/temp/xxx.jog     * @param string $savePath 美图云文件的存储位置     * @param string $fileType 文件类型     * @return string 上传到美图云后的地址     * */    protected function uploadToQNCloud($tmpLocation, $savePath = 'test/' ,$fileType = 'image/*')    {        if (is_file($tmpLocation)) {             $config = InitPHP::getConfig();            $this->getQiniuyun()->setConfig($config['qiniu_yun']);            $path_data = pathinfo($tmpLocation);            $savePath = trim($savePath, "/");//去掉两边的"/"            $key = $savePath . '/' . date("Ymd") . '/' . substr(md5(getRandoms(4) . uniqid()), 0, 10) . $path_data['basename'];             $uploadToken = $this->getQiniuyun()->getUploadToken($config['qiniu_yun']['bucket'], $key, 10, array(                'insertOnly' => 1, //只能新增图片                'mimeLimit' => $fileType, // 只允许上传图片            ));            $this->getQiniuyun()->uploadFile($uploadToken, $key, $tmpLocation);            $url = $this->getQiniuyun()->getPublicResourceUrl($key);            @unlink($tmpLocation);            return $url;        }    }
/**     * @return qiniuYunInit|object     */    private function getQiniuYun()    {        return InitPHP::getLibrarys('qiniuYun');    }

配置信息写在自己的配置文件中。

注意:1、上线时在七牛云上要配置域名,不然cdn无效,而且会限制访问速度等等

https://blog.csdn.net/yanyan42/article/details/80684614

你可能感兴趣的文章
一些问题
查看>>
ubuntu配置cudnn
查看>>
P1242 新汉诺塔 && UVA10795 A Different Task
查看>>
从零开始学习PYTHON3讲义(十一)计算器升级啦
查看>>
从零开始学习PYTHON3讲义(三)写第一个程序
查看>>
WebGis设计模式
查看>>
cocos2dx ScrollView 测试一 触摸事件优先级和自动调整
查看>>
django 使用mysql数据库的流程
查看>>
Android系统移植与调试之------->如何修改Android设备的默认休眠时间
查看>>
我的Android进阶之旅------>Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换)...
查看>>
uboot 传递的参数 mtdparts
查看>>
六种排序算法C语言版(上)
查看>>
292. Nim Game(easy)
查看>>
ERROR 1786 (HY000)
查看>>
Kubernetes 学习7 Pod控制器应用进阶2
查看>>
Python字符串相加以及字符串格式化
查看>>
11.08 轮换行值
查看>>
AIX lsof 命令
查看>>
微信小程序个人项目(node.js+koa2+koa-router+middleware+mysql+node-mysql-promise+axios)
查看>>
C#温故而知新学习系列之面向对象编程—类的数据成员(三)
查看>>