tp5 文件上传SDK七牛云

1、使用composer命令安装千牛云插件

         composer require qiniu/php-sdk

 2、去七牛云注册账号,实名认证

  1. 注册完账号后登录,实名认证完毕后可以在,点击个人头像,在个人中心可以取到AK,sk方便我们后面使用;

 2. 创建对象储存空间

3、代码

   function icloud()
    {

        //接收文件上传的值
        $file = $_FILES;

        //本地的文件路径
        $localFilePath = $file['front_photo']['tmp_name'];

        //截取文件后缀名
        //$suffix = '.jpg';
        $suffix = strtolower(substr($file['file']['name'],strpos($file['file']['name'],'.')));

        //生成一个唯一的文件名称,重命名 (md5加密原文件名+秒+随机数)
        $fileName = md5($file['file']['name']) . date('s',time()) . rand(1,9999999);
        $fileName .= $suffix;

        //上传七牛云业务逻辑
        $accessKey = ''; //去控制台的秘钥管理拿AK
        $secretKey = '';//去控制台的秘钥管理拿SK
        $auth = new Auth($accessKey, $secretKey);
        //七牛云桶名,根据自己实际进行填写
        $bucket = '';//这里填写自己创建的对象存储空间名称
        // 生成上传Token
        $token = $auth->uploadToken($bucket);
        // 构建 UploadManager 对象
        $uploadMgr = new UploadManager();

        // 调用 UploadManager 的 putFile 方法进行文件的上传。
        list($ret, $err) = $uploadMgr->putFile($token, $fileName, $localFilePath);
        //错误信息提示
        if ($err != null) {
            //可调整为错误页面
            $this->error('上传文件失败');
        }
        $imageUrl = 'http://qtpud69oi.hn-bkt.clouddn.com/' . $fileName;
        //入库业务逻辑 create save 只有这两个模型方法才能自动写入时间戳
        $result =BannerModel::create([
            'image_url'=>$imageUrl,
        ]);

        $this->success('上传文件成功');
        
        //把七牛云图片路径存储到我们自己的数据库  七牛云图片路径
        $imageUrl = 'http://qtpud69oi.hn-bkt.clouddn.com/' . $fileName;//域名拼接图片名称就是图片云端的路径
    }

4、图片上传云端成功

 点击详情可以查询到图片,以及图片的云端路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用七牛云的 JavaScript SDK,上文件的方法如下: 1. 引入 SDK: ```html <script src="https://cdn.staticfile.org/plupload/2.3.6/plupload.full.min.js"></script> <script src="https://cdn.staticfile.org/qiniu-js/1.0.24-beta/qiniu.min.js"></script> ``` 2. 配置七牛云参数: ```javascript var config = { useCdnDomain: true, // 是否使用 CDN 加速域名 region: qiniu.region.z2, // 上域名区域 uptokenURL: '/api/uptoken', // 获取上凭证的后端接口 domain: 'http://yourdomain.com/', // 域名,即访问上文件时使用的地址 container: 'upload-container', // 上控件的容器 ID maxFileSize: 10 * 1024 * 1024, // 最大文件大小,单位为字节 chunkSize: 4 * 1024 * 1024, // 分块上时每块的大小,单位为字节 autoStart: true // 是否自动开始上 }; ``` 3. 创建上实例: ```javascript var uploader = Qiniu.uploader({ runtimes: 'html5,flash,html4', browse_button: 'select-file', // 选择文件按钮的 ID ...config, // 将七牛云参数入 init: { // 上状态改变时的回调函数 'StateChanged': function(up) { if (up.state === plupload.STARTED) { console.log('上中'); } else if (up.state === plupload.STOPPED) { console.log('上停止'); } }, // 文件添加到上队列时的回调函数 'FilesAdded': function(up, files) { // 遍历文件列表,处理每个文件 plupload.each(files, function(file) { console.log('文件名:' + file.name + ', 文件大小:' + plupload.formatSize(file.size)); }); }, // 上成功时的回调函数 'FileUploaded': function(up, file, info) { var res = JSON.parse(info.response); // 解析上成功后返回的数据 console.log('文件成功,访问地址为:' + config.domain + res.key); }, // 上出错时的回调函数 'Error': function(up, err, errTip) { console.log('上出错:' + errTip); } } }); ``` 4. 开始上: ```javascript uploader.start(); ``` 以上就是使用七牛云的 JavaScript SDK文件的方法。需要注意的是,上文件需要先获取上凭证,可以通过调用七牛云的 API 接口来获取,也可以使用 SDK 中提供的 `uptokenURL` 参数来指定后端接口获取。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值