0

Laravel 9.19

Livewire 2.10

Filament 2.0

masbug/flysystem-google-drive-ext 2.2

I am trying to using google drive as a filesystems storage .. every thing works fine so i can store files and open it .. except that the filament can not fetch the stored file and the console log gives me an error

filesystems.php

    'google' => [
      'driver' => 'google',
      'clientId' => "xxxxxxxxxxxx.apps.googleusercontent.com",
      'clientSecret' => "xxxxxxxxxxxxxxxxxxxxx",
      'refreshToken' => "xxxxxxxxxxxxxxxxxxxxxx",
      'folderId' => env('GOOGLE_DRIVE_FOLDER_ID', null),
    ],

config/cors.php


<?php

return [

  'paths' => ['api/*'], //try ['api/*', 'oauth/*'] , [] and ['*'] Nothing work

  'allowed_methods' => ['*'],

  'allowed_origins' => ['*'],

  'allowed_origins_patterns' => [], //try ['*'] Not working

  'allowed_headers' => ['*'],

  'exposed_headers' => [],

  'max_age' => 0,

  'supports_credentials' => false, //try true Not working
];

ComplaintResource.php


public static function form(Form $form): Form
  {
    return $form
      ->schema([


        Section::make('')
          ->schema([
            //.........

            FileUpload::make('reply_pdf')
              ->disk('google')
              ->acceptedFileTypes(['application/pdf']),
            //.......

          ])->columns(3)
      ]);
  }

the filament input keeps showing loading indicator

filament input

console.log

console log error

I am trying to make a middleware to solve this .. but nothing happen

Middleware/Cors.php

    public function handle(Request $request, Closure $next)
    {
      $response = $next($request);

      $response->headers->set('Access-Control-Allow-Origin', '*');
      $response->headers->set('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE');
      $response->headers->set('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With, Application');

      return $response;
    }

I tried to add the next code to .htaccess file .. but it didn't work also

.htaccess

    <IfModule mod_headers.c>
        Header set Access-Control-Allow-Origin "*"
    </IfModule>
  • I am run php artisan config:clear and php artisan cache:clear .. not working

The only thing that worked after install CORS Unblock extension to Chrome browser and enable Access-Control-Allow-Origin from it!

John Deck
  • 787
  • 1
  • 12
  • 27

0 Answers0