【tp5.1】七牛雲上傳圖片

composer安裝:php

composer require qiniu/php-sdk

配置使用:html

在tp5.1的配置文件app.php中配置七牛雲的參數前端

'qiniu' => [ 'accesskey' => '你的accesskey',
        'secretkey' => '你的secretkey',
        'bucket'    => '存儲空間',
        'domain'    =>  '域名' ],

前端使用webuploader上傳web

/*****加載AJAX上傳圖片******/
// 調用形式 Upload(元素編號,容許上傳商品數量);
function Upload(i,num){ sumimg(num); // var token = 'ZTEpdpZn1J1fLzgTfNtLXvRmcu0bjcnTUUhoQsEW';
    var uploader = WebUploader.create({ auto: true, swf: '/static/extends/lib/webuploader/0.1.5/Uploader.swf',//文件接收服務端。
        server: '/admin/tool/uploadImg',//文件接收服務端。
        pick: '#filePicker'+i,//指定選擇文件的按鈕容器
        fileNumLimit: num,//文件數量
 compress: { // 圖片質量,只有type爲`image/jpeg`的時候纔有效。
            quality: 90, }, accept: { //指定接受哪些類型的文件
            title: 'Images', extensions: 'gif,jpg,jpeg,bmp,png', mimeTypes: 'image/*' } }); uploader; //當文件被加入隊列之後觸發
    uploader.on('fileQueued',function(file){ var $li = $( '<div id="' + file.id + '" class="file-item thumbnail" onclick="delUpload(this,'+i+','+num+');">' +
                '<input type="hidden" name="img[]" id="'+file.id+'id" />'+
                '<img>' +
                '<div class="info">開始上傳圖片...</div>' +
                '</div>' ), $img = $li.find('img'); $("#fileList"+i).append($li);//圖片添加到容器
        var sum = $("#fileList"+i).find('.file-item').length; if(sum >= num){ $("#filePicker"+i).attr('style','display:none;'); } // 建立縮略圖顯示
        uploader.makeThumb(file,function(error,src){ if (error){ $img.replaceWith('<span>不能預覽</span>'); return; } $img.attr('src',src); },200,200); }); // 文件上傳過程當中建立進度百分比實時顯示。
    uploader.on('uploadProgress',function(file,percentage){ $("#"+file.id+" .info").html('正在上傳('+parseInt(percentage*100)+'%)'); }); //文件上傳返回成功,判斷是否成功上傳到七牛
    uploader.on('uploadSuccess', function(file,response){ if(response.code == 0){ $("#"+file.id+" .info").html('上傳失敗'); }else{ sumimg(num); $("#"+file.id+" .info").html('上傳完成,點擊圖片可刪除'); $( '#'+file.id ).addClass('upload-state-done'); $( '#'+file.id+"id").val(response.data);//賦值到input
 } }); }

 

後臺代碼:json

調用七牛app

use Qiniu\Auth; use Qiniu\Config; use Qiniu\Storage\BucketManager; use Qiniu\Storage\UploadManager;

上傳圖片:composer

// 初始化籤權對象
        $auth = new Auth($this->_accessKey,$this->_secretKey); $token = $auth->uploadToken($this->_bucket); // 構建 UploadManager 對象
        $uploadMrg = new UploadManager(); // 上傳文件到七牛
        $files = $_FILES; $values = array_values($files); $saveName = hash_file('sha1', $values[0]['tmp_name']) . time(); list($ret, $err) = $uploadMrg->putFile($token, $saveName, $values[0]['tmp_name']); if ($err !== null) { $return = [ 'code'  =>  0, 'msg'   =>  '上傳圖片失敗' ]; } else { $return = [ 'code'  =>  1, 'msg'   =>  '上傳成功', 'data'  =>  'http://' . $this->_domain . '/' . $ret['key'] ]; } return json($return);

 

刪除圖片:dom

$img = Request::param('name'); $imgArr = explode('/',$img); $delImgName = end($imgArr); // 初始化籤權對象
        $auth = new Auth($this->_accessKey,$this->_secretKey); $config = new Config(); // 管理資源
        $bucketManager = new BucketManager($auth,$config); // 刪除文件操做
        $res = $bucketManager -> delete($this->_bucket,$delImgName); if (is_null($res) || $res == null) { // 爲null成功
            $return = [ 'code'  =>  1,
                'msg'   =>  '刪除成功' ]; }else{ $return = [ 'code'  =>  0,
                'msg'   =>  '刪除失敗' ]; } return json($return);
相關文章
相關標籤/搜索