thinkphp 中 使用七牛云上传

利用七牛云私有空间存储文件

第一步,注册七牛云,创建空间,将空间设为私有

需要记下的东西:

AK,SK,bucket

第二步配置ThinkPHP

在config.php添加

‘UPLOAD_SITEIMG_QINIU‘=>array(
‘maxSize‘=>5*1024*1024,//文件大小
‘rootPath‘=>‘./‘,
‘saveName‘=>array(‘uniqid‘,‘‘),
‘driver‘=>‘Qiniu‘,
‘driverConfig‘=>array(
‘secrectKey‘=>‘<这里填七牛SK>‘,
‘accessKey‘=>‘<这里填七牛AK>‘,
‘domain‘=>‘<空间名称>.qiniudn.com‘,
‘bucket‘=>‘<空间名称>‘,
)

  

复制代码

第三步,上传文件

控制器

$setting=C(‘UPLOAD_SITEIMG_QINIU‘);
$Upload=new\Think\Upload($setting);
$info=$Upload->upload($_FILES);

  

复制代码

上传文件后得到的$info是这样的

array(1){
["photo"]=>array(10){
["name"]=>
["type"]=>
["size"]=>
["key"]=>"
["ext"]=>
["sha1"]=>
["savename"]=>
["savepath"]=>
["url"]=>
}
}

  

复制代码

第四步,计算下载凭证

Common目录function.php添加方法

functionQiniu_Encode($str)//URLSafeBase64Encode
{
$find=array(‘+‘,‘/‘);
$replace=array(‘-‘,‘_‘);
returnstr_replace($find,$replace,base64_encode($str));
}
functionQiniu_Sign($url){//$info里面的url
$setting=C(‘UPLOAD_SITEIMG_QINIU‘);
$duetime=NOW_TIME+86400;//下载凭证有效时间
$DownloadUrl=$url.‘?e=‘.$duetime;
$Sign=hash_hmac(‘sha1‘,$DownloadUrl,$setting["driverConfig"]["secrectKey"],true);
$EncodedSign=Qiniu_Encode($Sign);
$Token=$setting["driverConfig"]["accessKey"].‘:‘.$EncodedSign;
$RealDownloadUrl=$DownloadUrl.‘&token=‘.$Token;
return$RealDownloadUrl;
}

  

复制代码

$RealDownloadUrl为下载对应私有资源的可用URL

参考

http://document.thinkphp.cn/manual_3_2.html#upload

http://developer.qiniu.com/docs/v6/api/reference/security/download-token.html

时间: 2024-10-12 15:59:13

thinkphp 中 使用七牛云上传的相关文章

七牛云上传视频并截取第一帧为图片(js实现)

本文出自APICloud官方论坛, 感谢论坛版主 东冥羽的分享. 七牛云上传视频并截取第一帧作为视频的封面图. 使用js上传,模块videoPlayer截取第一帧(有专门的截图模块,但是我使用的有点问题,可能是视频源的问题:canvas也能截取,但是有点小bug,比如会截成黑色或白色的图片). 上传一个和上传多个视频 demo运行点这里 需要参数:token值,七牛云域名 *逻辑: 上传一个视频: 点击上传按钮,获取token值,选中视频后开始上传.input file会获取文件的大小,文件名等

七牛云上传工具

三年前刚接触七牛云的时候,由于官方没有客户端上传工具,就用 Java 写了一个图形化的上传工具,纯属个人兴趣.后来公司项目使用了七牛云,就重新调整了一下代码,分享给有需要的人. 一.开发初衷 看到 Mac 上有几个不错的支持七牛上传的工具,发现 Windows 下并没有,而且七牛官方有现成的 API,就想自己尝试做一个出来,正好自己是安卓开发,就用 Java 写了一个,不管什么系统,只要装了 Java 即可运行. 软件是一个 jar 包,拖拽上传,很适合产品和设计的同学上传开发素材. 系统要求:

kindeditor 加入七牛云上传

七牛云上传主要有两种: 服务端上传 前端上传,前端又分两种返回方式: 1).重定向返回,可以解决ajax跨域的问题 2).回调返回,七牛云先向服务端要返回数据,再由七牛云返回前端,解决不支持重定向的请求方式,比如小程序上传 本次使用的是 七牛云 php sdk: composer require qiniu/php-sdk 在Kindeditor/php 下添加 config.php 主要是配置参数 <?php error_reporting(0); defined('ROOT_PATH') |

关于使用elementUI直传七牛云上传 and 下载踩坑

这几天一直研究七牛云的,,由于本人对elementUI框架的不熟悉,,踩了很多坑. 首先需要注册一个七牛云,最近快赶上双十一,所以七牛云新用户价格低廉500G*6个月只用了一分钱,废话不多说直接上代码. 先说说上传 前端使用elementUI的<el-upload>组件: <el-upload action="http://upload-z2.qiniup.com" :http-request="sliderRequest" :name="

iOS 七牛云上传并获取图片----【客户端】

       最近做了七牛云存储的有关内容,涉及到与后台交互获取验证的token,无奈,后台自命清高,不与理会,没办法呀,于是自己搞呗.首先呢在在七牛上注册一个账号,然后呢添加一个存储空间这时候空间名是用来识别存储空间的位置,而地区的选择则是设置存储七牛服务器的位置,那么选择一个公开空间免费试用就可以了~~        创建好账号就是查看官方文档编写demo的流程了,顺便附带一个下载地址:http://developer.qiniu.com/code/v7/sdk/objc.html    下

PHP阿里云OSS,七牛云 上传文件

来源:http://my.oschina.net/rain21/blog/477019 七牛云 PHPSDK下载:http://pan.baidu.com/s/1o69TGcM 7.X版本: DEMO: <?php require_once './vendor/autoload.php';   use Qiniu\Auth; use Qiniu\Storage\BucketManager; use Qiniu\Storage\UploadManager;   $accessKey = 'acce

七牛云上传视频如何有效做到节省空间

在上传视频的时候,我们通常会保存到第三方[七牛云]平台.不过大多数程序员在系统后台上传视频后,一般都是保存到了本地,如果视频非常多或者视频容量特别大的情况下,那么我们的服务器迟早有一天会满,为了节省空间,下面教大家再上传视频时,如何以有效的节省服务器空间,一般情况下会把这些文件存到第三方,也就是需要我们下载qiniusdk,把qiniusdk放如Vendor目录下. 这里我们以课程视频为例子,实现的hmtl源代码如下:<tr> <td class="text">

Laravel中的日志与上传

PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架的设计思想理解了也能学到好多东西.况且有好多东西自己还不理解,所以认真学习一个框架这还是可以学不少东西的. 还是先说说Laravel吧,现在已经到5.2了.就我自己来说之前没有接触过laravel,但是学习过laravel之后感觉这个框架确实不错,并且老外用的不亦乐乎.他的开发社区还可以,文档比较齐

在django中使用七牛云

一.配置环境 django 3.0.3 qiniu 7.2.6 全部可以使用pip安装 二.在app的目录下创建qiniu_config.py文件,用于存放七牛云的相关配置信息 qiniu_config = { 'access_key': '', 'secret_key': '', 'bucket_name': '', 'domine': '', } #bucket_name:空间名 #domine:cdn加速域名 三.views.py from django.shortcuts import