#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. Я не понял. О проверке, о которой вы говорите?