永久域名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ì)案例
十九岁日本完整免费完整版| 欧美激情一区二区三区在线| 我的性经历(真实回忆)| 日本免费人成视频在线观看| 欧美性色欧美a在线在线播放| 小柔在公厕被灌满jing液| 搡女人真爽免费视频大全| 精品久久久久久久免费人妻| 51妺嘿嘿午夜福利| 玩朋友的丰满人妻| 小鲜肉男男gay做受xxx网站| 久久久久亚洲av无码专区喷水| 色情推油按摩g点高潮无码视频| 丰满爆乳无码一区二区三区| 内射人妻无码色ab麻豆| 久久精品中文字幕一区二区三区| 被吊起来用各种道具玩弄失禁| 麻豆AV无码精品一区二区| 亚洲欧美日韩综合久久久| 高清无码中文字幕在线观看视频| 男女裸体做爰爽爽全过程| 人妻熟妇女的欲乱系列| 久久精品国产亚洲AV麻豆长发| 极品粉嫩国产18尤物在线播放| 最近免费韩国电影高清版无吗| 亚洲av乱码一区二区三区按摩| 色综合久久精品亚洲国产| 久久99热久久99精品| 一进去一爽又粗又大| 亚洲香蕉成人av网站在线观看| 99国产精品久久久久久久成人| 最近中文字幕免费完整版2019| 天堂资源官网在线资源| 被体育老师c了一节林妙妙| 国产免费av片在线无码免费看| 9277在线观看免费高清| 国产老熟女老女人老人| 久久久精品| 欧美折磨另类系列sm| 国产精品久久久久精品综合紧| 亚洲视频在线观看|