我正在尝试使用laravel将文件上传到保管箱

时间:2020-08-19 18:10:19

标签: laravel dropbox

我正在尝试使用laravel将文件上传到保管箱。我按照我在文档中阅读的步骤进行操作,但是没有得到。

我安装了Dropbox适配器,然后,我将提供程序创建为文档中的名称,并将代码也放置在文档中

提供者:

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Storage;
use League\Flysystem\Filesystem;
use Spatie\Dropbox\Client as DropboxClient;
use Spatie\FlysystemDropbox\DropboxAdapter;

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
    App\Providers\DropboxServiceProvider::class,

在环境中我添加了以下几行。访问令牌和应用程序密码来自在保管箱中创建的api

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。名称是teste-gobsruiz01。我还创建了两条路线,即get和post。

如果有人可以帮助我,我表示感谢。我已经尝试了很长时间了

0 个答案:

没有答案