• 从google storage上传或者下载文件


    向Google storage上传文件

       // Bucketを取得
        private static function getStorageBucket() {
    
            if (!isset(self::$bucket)) {
                putenv(Config::get('gcs.access_key'));
                $storage = new StorageClient();
                self::$bucket = $storage->bucket(Config::get('gcs.bucket'));
            }
        }
    
        //ファイルをstorageにアップロード
        private static function uploadToStorage($fileName) {
            self::getStorageBucket();
            // Bucket確認
            if (self::$bucket->exists()) {
                $fromPath = self::$current_jobno_path.DS.$fileName;
                if (file_exists($fromPath)) {
                    $targePpath = "document_search".DS.self::$current_jobno.DS.$fileName;
                    $options = [
                        'name' => $targePpath
                    ];
                    
                    $handle = fopen($fromPath, 'r');
                    $object = self::$bucket->upload(
                        $handle,
                        $options
                    );
                } else {
                    Log::error("ファイル(".$fromPath.")が不存在です。");
                }
                
            } else {
                Log::error('GCS BUCKET NOT EXIST.');
            }
    
        }

    从Google storage下载文件

        public function download($from_file_path, $to_file_path) : String {
            $url = '';
            
            // manualファイル取得
            $object = $this->bucket->object($from_file_path);
            // 署名付きURL取得
            //         if ($object->exists()) {
            $stream  = $object->downloadToFile($to_file_path);
            //         }
            
            return $stream;
        }

    获取Google storage中文件URL

        public function getUrl($file_path) : String {
            $url = '';
            
            // manualファイル取得
            $object = $this->bucket->object($file_path);
            // 署名付きURL取得
    //         if ($object->exists()) {
                $url = $object->signedUrl(new DateTime('+60 minute'));
    //         }
            
            return $url;
        }
  • 相关阅读:
    python刷新七牛云CDN缓存
    python 操作redis
    redis 设置密码
    redis 允许其他机器连接设置方法
    redis持久化
    redis操作
    redis简介及与memcached比较
    dataframe 处理某列的小数位数并加特殊符号
    django 生成和下载CSV文件
    django 重定向
  • 原文地址:https://www.cnblogs.com/gaoBlog/p/14042579.html
Copyright © 2020-2023  润新知