zhangdehua vor 7 Monaten
Ursprung
Commit
dd6905a41e
3 geänderte Dateien mit 19 neuen und 1 gelöschten Zeilen
  1. 2 1
      app/common/model/UploadFile.php
  2. 16 0
      app/store/controller/Upload.php
  3. 1 0
      config/app.php

+ 2 - 1
app/common/model/UploadFile.php

@@ -71,7 +71,8 @@ class UploadFile extends BaseModel
     {
         // 存储方式本地:拼接当前域名
         if ($data['storage'] === StorageEnum::LOCAL) {
-            $data['domain'] = rtrim(uploads_url(), '/');
+            //$data['domain'] = rtrim(uploads_url(), '/');
+            $data['domain'] = config('app.app_google_gcs_host');
         }
         return "{$data['domain']}/{$data['file_path']}";
     }

+ 16 - 0
app/store/controller/Upload.php

@@ -17,6 +17,7 @@ use app\store\model\UploadFile as UploadFileModel;
 use app\common\enum\Setting as SettingEnum;
 use app\common\enum\file\FileType as FileTypeEnum;
 use app\common\library\storage\Driver as StorageDriver;
+use think\facade\Log;
 use think\response\Json;
 use Google\Cloud\Storage\StorageClient;
 use Google\Auth\Credentials\ServiceAccountCredentials;
@@ -70,6 +71,21 @@ class Upload extends Controller
         $model->add($fileInfo, FileTypeEnum::IMAGE, $groupId);
         //$filePath = $fileInfo['file_path'];
         //todo 上传到谷歌GCS
+        $keyFilePath = '/etc/nginx/nginx/html/dihua-01-5690813badec.json';
+        $storage = new StorageClient(['projectId' => 'dihua-01', 'keyFilePath' => $keyFilePath]);
+        $bucket = $storage->bucket('freeshippingvps');
+
+        $filePath = public_path($fileInfo['file_path']);
+        $storageObj = $bucket->upload(
+            fopen($filePath, 'r'),
+            [
+                'name' => $fileInfo['file_path']
+            ]
+        );
+        $name = $storageObj->name();
+        if (empty($name)){
+            Log::error('上传文件到google云失败');
+        }
 
         // 图片上传成功
         return $this->renderSuccess(['fileInfo' => $model->toArray()], '图片上传成功');

+ 1 - 0
config/app.php

@@ -7,6 +7,7 @@ return [
     // 应用地址
     'app_host'         => env('app.host', ''),
     'app_domain'         => env('app.domain', ''),
+    'app_google_gcs_host'         => env('app.google_gcs_host', ''),
     // 应用的命名空间
     'app_namespace'    => '',
     // 是否启用路由