我需要您使用 GCP 进行文件上传方面的帮助。我有两种上传图片的方式:
这是我的资源代码:
Forms\Components\FileUpload::make('attachments')
->columnSpan(2)
->fetchFileInformation(false)
->label('Attachments')
->multiple()
->previewable()
->reorderable()
->downloadable()
->openable()
->directory('attachments')
->storeFileNamesIn('original_filenames')
->disabled($user
->cannot('admin:customer_support_request:view_attachments'))
->hidden($user
->cannot('admin:customer_support_request:edit_attachments')),
这是我的 filesystem.php 文件代码:
'gcs-media' => [
'driver' => 'gcs',
'project_id' => env('GOOGLE_CLOUD_PROJECT_ID', 'project_id'),
'bucket' => env('GOOGLE_CLOUD_MEDIA_STORAGE_BUCKET', 'test.com'),
'visibility' => 'public',
'bucket_url' => env('GOOGLE_CLOUD_MEDIA_BUCKET_URL'),
'storage_api_uri' => env('GOOGLE_CLOUD_MEDIA_BUCKET_URL'),
'visibility_handler' => \League\Flysystem\GoogleCloudStorage\UniformBucketLevelAccessVisibility::class,
'key_file' => [
'type' => env('GOOGLE_CLOUD_MEDIA_ACCOUNT_TYPE'),
'private_key_id' => env('GOOGLE_CLOUD_MEDIA_PRIVATE_KEY_ID'),
'private_key' => env('GOOGLE_CLOUD_MEDIA_PRIVATE_KEY'),
'client_email' => env('GOOGLE_CLOUD_MEDIA_CLIENT_EMAIL'),
'client_id' => env('GOOGLE_CLOUD_MEDIA_CLIENT_ID'),
'auth_uri' => env('GOOGLE_CLOUD_MEDIA_AUTH_URI'),
'token_uri' => env('GOOGLE_CLOUD_MEDIA_TOKEN_URI'),
'auth_provider_x509_cert_url' => env('GOOGLE_CLOUD_MEDIA_AUTH_PROVIDER_CERT_URL'),
'client_x509_cert_url' => env('GOOGLE_CLOUD_MEDIA_CLIENT_CERT_URL'),
],
'throw' => true,
],
我已经更新了我的 .env 文件中的 APP_URL,并且似乎是正确的,因为我能够在我的 GCP 中上传该文件,并且在使用 RichEditor 时可以看到图像。我还尝试将 php.ini 文件更新为:variables_order = GPCS 但没有任何效果。我已经添加了这个:->fetchFileInformation(false),它仍然是相同的。谁能帮我解决这个问题。谢谢你。
这已在服务器端修复。 CORS 未启用。您需要做的就是允许从源访问。