Я пытаюсь загрузить файлы в dropbox с помощью laravel

#laravel #dropbox

#laravel #dropbox

Вопрос:

Я пытаюсь загрузить файлы в dropbox с помощью laravel. Я следовал инструкциям, которые я прочитал в документации, но у меня ничего не получается.

Я установил адаптер Dropbox и сразу после этого я создал провайдера в качестве имени, которое есть в документации, и поместил код, который также есть в документации

Поставщик:

 use IlluminateSupportServiceProvider;
use IlluminateSupportFacadesStorage;
use LeagueFlysystemFilesystem;
use SpatieDropboxClient as DropboxClient;
use SpatieFlysystemDropboxDropboxAdapter;

class DropboxServiceProvider extends ServiceProvider
{
/**
 * Register any application services.
 *
 * @return void
 */
public function register()
{
    //
}

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Storage::extend('dropbox', function ($app, $config) {
        $client = new DropboxClient(
            $config['authorization_token']
        );

        return new Filesystem(new DropboxAdapter($client));
    });
}
}
  

там, в файловой системе, я создал диск

 'dropbox' => [
        'driver' => 'dropbox',
        'authorization_token' => env('DROPBOX_TOKEN'),
    ],
  

В приложении я добавил следующую строку

 // Dropbox
    AppProvidersDropboxServiceProvider::class,
  

В env. Я добавил следующие строки. Токен доступа и секрет приложения взяты из api, созданного в dropbox

 DROPBOX_TOKEN = <REDACTED>
DROPBOX_SECRET = <REDACTED>
  

Вид:

 <div>
    <form action="{{ route('uploadStore') }}" enctype="multipart/form-data" method="post">
        @csrf
        <input type="file" name="image">
        <br>
        <input type="submit" value="Enviar">
    </form>
</div>

<div>
    @if($errors->any())
        <h4>{{$errors->first()}}</h4>
    @endif
</div>
  

И контроллер:

 protected function index() {
    $files = Storage::allFiles('teste-gobsruiz01');
    return view('index', [
        'files' => $files,
    ]);
}
protected function store(Request $request) {
    $file = $request->file("image");
    $is_file_uploaded = Storage::disk('dropbox')->put('teste-gobsruiz01',$file);

    if($is_file_uploaded){
        return Redirect::back()->withErrors(['msg'=>'Succesfuly file uploaded to dropbox']);
      } else {
        return Redirect::back()->withErrors(['msg'=>'file failed to uploaded on dropbox']);
      } 
}
  

Я создал API в dropbox. Имя teste-gobsruiz01. Я также создал два маршрута, get и post.

Если кто-нибудь, пожалуйста, может мне помочь, я ценю это. Я пытался долгое время

Комментарии:

1. Вы не должны делиться своим токеном доступа или секретом приложения. Я отредактировал это из вашего поста, но вам следует отозвать этот токен доступа, поскольку вы опубликовали его публично.

2. Что касается вопроса, что конкретно не работает?

3. Когда я помещаю изображение во входные данные и нажимаю для отправки. Оно не отправлено.

4. Работает laravel. журнал что-нибудь говорит?

5. Я не понял. О проверке, о которой вы говорите?