zoukankan      html  css  js  c++  java
  • 从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;
        }
  • 相关阅读:
    [hive]case 语句中字符串匹配
    shell-删除指定时间前的文件
    tensorflow expand_dims和squeeze
    nexus建立maven仓库私服及Snapshots、release的版本管理
    FileChannel指南
    java8关于时间的新特性
    java程序加到系统托盘的方法
    java程序 避免重复启动的方法
    httpClient 进行get请求
    springboot 多线程的使用
  • 原文地址:https://www.cnblogs.com/gaoBlog/p/14042579.html
Copyright © 2011-2022 走看看