永久域名18勿进永久域名在线,女人扒开屁股爽桶30分钟,欧美又粗又大又硬又长又爽视频,国产激情久久久久影院老熟女

400-800-9385
網(wǎng)站建設(shè)資訊詳細(xì)

亞馬遜s3-OSS存儲文件上傳讀取接口

發(fā)表日期:2021-11-24 10:13:44   作者來源:劉紅旺   瀏覽:7507   標(biāo)簽:OSS存儲    OSS存視頻    
專業(yè)做網(wǎng)站的都知道,OSS存儲是個(gè)好東西,如果你想網(wǎng)站上放個(gè)視頻,如果采用第三方優(yōu)酷、土豆視頻,有很多廣告,放在自己網(wǎng)站上非常不友好。如果直接放在網(wǎng)站服務(wù)器,則占用很多帶寬,增加服務(wù)器負(fù)擔(dān)。所以O(shè)SS存儲的出現(xiàn),解決了這個(gè)問題,速度快又不占用服務(wù)器帶寬,又便宜。

還可以利用OSS存儲,實(shí)現(xiàn)多服務(wù)器部署網(wǎng)站。

國外網(wǎng)站如何將資料存在oss,除了阿里云在亞馬遜也同樣有類似的服務(wù)Amazon S3對象存儲
這里用的的是 thinkphp3.2 和 亞馬遜s3接口
接口實(shí)例地址:
 
新建一個(gè)class
引入api文件
 
Vendor('Amazon.autoloader');
use Aws\S3\S3Client;
use Aws\S3\MultipartUploader;
 
class AwsFile
{
    public $key;
public $secret;
//鏈接亞馬遜服務(wù)器
   /**
     * Aws類初始化
     *
     */
    public function __construct()
    {
       
        $this->key ='xxxxxXXXX' ;//key
        $this->secret = 'xxxxxXXXXXXXX';//secret
        $this->region = "ap-southeast-1";//區(qū)域
        $this->version = 'latest';//版本號
        $this->endpoint ='http://s3.ap-southeast-1.amazonaws.com';//公網(wǎng)訪問地址
        $this->bucket = 'xxxxx';//桶
        try {
         
            $credentials = new \Aws\Credentials\Credentials($this->key, $this->secret);
            $this->client = new \Aws\S3\S3Client([
                'version' => $this->version,
                'region' => $this->region,
                'credentials' => $credentials,
                'endpoint' => $this->endpoint,
                //設(shè)置訪問權(quán)限  公開,不然訪問不了
                'ACL'    => 'public-read',
//                'debug'   => true
            ]);
        } catch (Exception $e) {
            $msg = $e->getMessage();
            Log::add(__PUBLIC_ . '|s3ImageConstruct', $msg);
            return false;
        }
        return true;
 
    }
 
//基礎(chǔ)上傳
    /**
     * upload file 基礎(chǔ)上傳
     * name 文件名
     * fileUrl 文件路徑(絕對地址)
     */
    public function uploadFile($file_name, $file_path,$dir)
    {
        $key = $file_name;
        $fileUrl = $file_path;
        if (!file_exists($fileUrl)) {
            return  "當(dāng)前目錄中,文件" . $fileUrl . "不存在";
        }
        try {
            $result = $this->client->putObject([
                'Bucket' => $this->bucket,
                'Key' => trim($dir.$key),
                'Body' => fopen($fileUrl, 'rb'),
                'ACL'    => 'public-read',
            ]);
            $fileUrl = $result->get('ObjectURL');
            return $fileUrl;
        } catch (Exception $e) {
            $msg = $e->getMessage();
           
            return $msg;
        }
    }
 
 
    /**
     * 自定義分段上傳
     */
    public function multipartUploader($file_name, $file_path)
    {
        $source = $file_path;
        //多部件上傳
        $uploader = new MultipartUploader($this->client, $source, [
            //存儲桶
            'bucket' => $this->bucket,
            //上傳后的新地址
            'key'    => $file_name,
            //設(shè)置訪問權(quán)限  公開,不然訪問不了
            'ACL'    => 'public-read',
            //分段上傳
            'before_initiate' => function (\Aws\Command $command) {
                // $command 是CreateMultipartUpload操作
                $command['CacheControl'] = 'max-age=3600';
            },
            'before_upload'   => function (\Aws\Command $command) {
                // $command 是一個(gè)UploadPart操作
                $command['RequestPayer'] = 'requester';
            },
            'before_complete' => function (\Aws\Command $command) {
                // $command 是一個(gè)CompleteMultipartUpload操作
                $command['RequestPayer'] = 'requester';
            },
        ]);
        try {
            $result = $uploader->upload();
            //上傳成功--返回上傳后的地址
            $resultOne = $this->client->getObjectUrl($this->bucket, $file_name);
            $data = [
                'type' => '1',
                'data' => urldecode($result['ObjectURL']),
                'resultOne' => $resultOne,
            ];
        } catch (Aws\Exception\MultipartUploadException $e) {
            //上傳失敗--返回錯(cuò)誤信息
            $uploader =  new MultipartUploader($this->client, $source, [
                'state' => $e->getState(),
            ]);
            $data = [
                'type' => '0',
                'data' =>  $e->getMessage(),
            ];
        }
        return $data;
    }
 
 /**
     * s3根據(jù)文件名稱獲取url
     * fileName 文件名稱
     * publicPath 證書路徑
     * expire 過期時(shí)間
     * $result = $this->client->getObjectUrl($this->bucket, $name);//此方法將返回給定存儲桶和密鑰的未簽名 URL。
     */
    public function getFileUrl($fileName, $publicPath, $expire = 1)
    {
        if (empty($this->bucket)) {
            return  "";
        }
        try {
            //創(chuàng)建預(yù)簽名url
            $cmd = $this->client->getCommand('GetObject', [
                'Bucket' => $this->bucket,
                'Key' => trim($fileName)
            ]);
            $request = $this->client->createPresignedRequest($cmd, '+' . $expire . 'weeks');
            $presignedUrl = (string)$request->getUri();//獲取簽名對象的 URL
            //檢驗(yàn)訪問url是否有效
            $array = get_headers($presignedUrl, 1);
            //dump($array);
            if (preg_match('/200/', $array[0])) {
                //Log::add(__PUBLIC_ . '|s3GetFileUrlSuccess', "下載證書文件成功,url:".$presignedUrl."fileName".$fileName);
                return $presignedUrl;
            } else {
                
                return $presignedUrl ;
                exit;
            }
        } catch (Aws\S3\Exception\S3Exception $e) {
            $msg = $e->getMessage();
          
            return false;
        }
    }
 
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://www.wfcgdy.com/news/6294.html
相關(guān)網(wǎng)站設(shè)計(jì)案例
成人性生交大片免费看京东小视频| 亚洲av无码乱码在线观看无码| 国产大片免费观看软件| 国产成a人亚洲精v品无码性色| 人体内射精一区二区三区| 挽起裙子跨开双腿运动| 欧美老妇xxxxx性开放| 18禁美女挤奶视频免费观看| 亚洲精品亚洲人成人网| 沉沦肉欲的娇妻第十一章| 18禁真人抽搐一进一出在线| 国产古装妇女野外a片| 欧美69久成人做爰视频| А√天堂中文在线资源库免费观看| 国产又粗又大成人片在线观看| 国产无套粉嫩白浆在线观看| 丰满护士巨好爽好大乳小说| 重囗味sm在线观看无码| jealousvue成熟50ma| 国产人妖乱国产精品人妖| 无码国产精品一区二区免费式直播| 好爽毛片一区二区三区四无码三飞| 人妻少妇69式99偷拍| 三人交free性欧美| 教官趁她睡着吸允她的花蜜| 国产边打电话边做对白在线| 图书馆h含着粉嫩小奶头h漫画| 真实的和子乱拍在线观看| 校花娇躯被学长抽搐呻吟| 99久久无码一区人妻a片| 亚洲成av人片在线观看无码麻豆| 少妇我被躁爽到高潮a片| 最近2019中文字幕大全视频1| 亚洲av成人片无码www| 免费追剧大全电视剧网站影视大全| 国色天香a区与b区| 性欧美乱熟妇xxxx白浆| 亚洲无线卡一卡二| 亚洲精品久久久无码| 国产精品久久久久久精品电影| 公交车上荫蒂添的好舒服视频|