使用Laravel将图像文件上传到Google云

问题描述 投票:0回答:2

[嗨,我尝试使用laravel API将图像文件上传到Google云存储。我已经通过作曲家集成了google sdk,我尝试用邮递员打我正在获取url并存储在我的数据库中,但是图像文件未上传到google cloud的文件夹中。我在其中创建了一个名为“头像”的文件夹桶。这是我的代码。这是我的控制器

public function updateAvatar (AvatarUploadRequest $request) {
    $me = Auth::user();
    $disk = Storage::disk('gcs');
    $url = $disk->url('avatars'. "/" . $me->uuid . ".jpg");
    $me->avatar = $url;
    $me->save();
    return $this->prepareItem($me);
}

这是我的filesystems.php文件

'gcs' => [
     'driver' => 'gcs',
     'project_id' => env('GOOGLE_CLOUD_PROJECT_ID', 'my-project-id'),
     'key_file' => env('GOOGLE_CLOUD_KEY_FILE', null),
     'bucket' => env('GOOGLE_CLOUD_STORAGE_BUCKET', 'my-bucket-name'),
     'path_prefix' => env('GOOGLE_CLOUD_STORAGE_PATH_PREFIX', null),
     'storage_api_uri' => env('GOOGLE_CLOUD_STORAGE_API_URI',
     'https://console.cloud.google.com/storage/browser/my-project-id/'),
],

我完成的全部。我错过了什么吗?是否需要任何其他配置?

laravel google-cloud-storage image-upload
2个回答
1
投票

这是因为您正在生成url,但未存储在磁盘上的文件中,这是代码示例拳头从请求中获取文件内容:$avatar = $request->file('avatar')第二保存到存储:Storage::disk('gcs')->put('avatars/'.$me->uuid , $file);


-1
投票

第1步:首先在Google云存储中创建一个帐户,当我们不打算进行“升级”时,您将需要信用卡详细信息,但不会收费,因为这是为了确保它不是机器人。 >

第2步:在Google云存储中创建一个项目,例如,这里的项目名称为“我的项目”。

© www.soinside.com 2019 - 2024. All rights reserved.