tp5.0整合七牛雲圖片上傳

轉:https://www.cnblogs.com/adobe-lin/p/7699638.htmlhtml

這裏以上傳圖片爲例 上傳其餘文件也是大同小異json

使用composer安裝gmars/tp5-qiniu
composer

安裝成功則在vendor目錄下多出一個目錄 這個目錄含有整合七牛雲的全部類包等文件fetch

控制器中添加upload方法this

複製代碼
    public function upload() {
        if(request()->isPost()) {
            $qiniu = new \gmars\qiniu\Qiniu('你的ak','你的sk','文件夾目錄名稱');
            $result = $qiniu->upload();
            if($result === false) {
                return json(['status'=>'-1','msg'=>"上傳失敗"]);
            } else {
                return json(['status'=>'0','msg'=>"上傳成功"]);
            }
        } else {
            return $this->fetch();
        }
    }        
複製代碼

修改如下文件spa

修改79行開始的幾處代碼code

複製代碼
    public function upload($saveName = '', $bucket = '')
    {
        $token = $this->_getUploadToken($bucket);

        $files = $_FILES;
        if (empty($files)) {
            throw new Exception('沒有文件被上傳', 10002);
        }
        $values = array_values($files);

        $uploadManager = new UploadManager();
        if (empty($saveName)) {
            // 定義文件存儲名稱 以上傳時的時間戳爲文件名
            $saveName = time().strrchr($values[0]['name'],'.');
        }
        $infoArr = explode('.', $values[0]['name']);
        $extension = array_pop($infoArr);
        $fileInfo = $saveName . '.' . $extension;
        list($ret, $err) = $uploadManager->putFile($token, $saveName, $values[0]['tmp_name']);
        if ($err !== null) {
            // 上傳失敗
            return false;
        }
        // 上傳成功返回文件名
        return $ret['key'];
    }
相關文章
相關標籤/搜索