$card_id 是我的本地的文件  将问价名字的后缀名去掉

注意access_token的有效期

public function ceshi1($card_id)
{
    $mediaid = substr($card_id, 0, -4);
    $accessKey = config('ACCESSKEY');      //七牛公钥
    $secretKey = config('SECRETKEY');      //七牛私钥
    $auth = new Auth($accessKey, $secretKey);
    $filePath = './radio/' . $card_id;
    $bucket = 'radio';
    //数据处理队列名称,不设置代表不使用私有队列,使用公有队列。
    $pipeline = 'mingpianradio';

    //通过添加'|saveas'参数,指定处理后的文件保存的bucket和key
    //不指定默认保存在当前空间,bucket为目标空间,后一个参数为转码之后文件名
    $savekey = \Qiniu\base64_urlSafeEncode($bucket.':'.$mediaid.'.mp3');
    //设置转码参数
    $fops = "avthumb/mp3/ab/320k/ar/44100/acodec/libmp3lame";
    $fops = $fops.'|saveas/'.$savekey;
    if(!empty($pipeline)){  //使用私有队列
        $policy = array(
            'persistentOps' => $fops,
            'persistentPipeline' => $pipeline
        );
    }else{                  //使用公有队列
        $policy = array(
            'persistentOps' => $fops
        );
    }

    //指定上传转码命令
    $uptoken = $auth->uploadToken($bucket, null, 3600, $policy);
    $key = $mediaid.'.amr'; //七牛云中保存的amr文件名
    $uploadMgr = new UploadManager();

    //上传文件并转码$filePath为本地文件路径
    list($ret, $err) = $uploadMgr->putFile($uptoken, $key, $filePath);
    if ($err !== null) {
        return false;
    }else {
        //此时七牛云中同一段音频文件有amr和MP3两个格式的两个文件同时存在
        $bucketMgr = new BucketManager($auth);
        //为节省空间,删除amr格式文件
        $bucketMgr->delete($bucket, $key);
        return $ret['key'];
    }
}
01-18 16:49