Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Всем привет,
В laravel 5.5 приложении нужно загрузить файл на dropbox и получить shared link этого файла.
Я использовал DropboxAdapter либу и эту https://murze.be/dropbox-will-turn-off- … pplication доку
И также читая тут о версии 2 dropbox-а
https://laravel.com/docs/5.5/filesystem … ving-files
Мне удалось загузить файл на dropbox, но проблема с получением shared link-а этого файла.
Делая :
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Auth;
use Intervention\Image\Facades\Image as Image;
use Carbon\Carbon;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;
use League\Flysystem\Filesystem;
use Spatie\Dropbox\Client;
use Spatie\FlysystemDropbox\DropboxAdapter;
...
class TmpCsvp extends MyAppModel
{
...
public static function setToIsApplied($id,bool $to_copy, $to_employee_id)
{
...
$dropboxClient = new Client(env('DROPBOX_OATH'));
$adapter = new DropboxAdapter($dropboxClient);
$filesystem = new Filesystem($adapter);
echo '<pre>$filesystem::'.print_r($filesystem,true).'</pre>'; // Вывод League\Flysystem\Filesystem Object класса
echo '<pre>$dropboxClient::'.print_r($dropboxClient,true).'</pre>'; // вывод Spatie\Dropbox\Client класса
$uploaded = $filesystem->put($dest_dropbox_file_name, $file, []);
echo '<pre>$uploaded::'.print_r($uploaded,true).'</pre>'; // The output is 1
$exists = Storage::disk('dropbox')->exists($dest_dropbox_file_name);
echo '<pre>$exists::'.print_r($exists,true).'</pre>';
$url = Storage::disk('dropbox')->url($dest_dropbox_file_name); // THAT LINE RAISE EXCEPTION
echo '<pre>$url::'.print_r($url,true).'</pre>';
Но получаю ошибку:
This driver does not support retrieving URLs.
с выводом https://imgur.com/a/HpE4M
При этом файл благополучно загружен по пути в $dest_dropbox_file_name вроде “docs/-doc-130/lender_image_1.jpg”
Мой composer.json :
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=7.0.0",
"doctrine/dbal": "^2.5",
"fideloper/proxy": "~3.3",
"intervention/image": "^2.4",
"laravel/framework": "5.5.*",
"laravel/tinker": "~1.0",
"maatwebsite/excel": "~2.1.0",
"mcamara/laravel-localization": "^1.3",
"rcrowe/twigbridge": "^0.9.5",
"sebastiansulinski/dotenv": "^2.0",
"sebastiansulinski/php-backup": "^2.0",
"spatie/flysystem-dropbox": "^1.0",
"spatie/laravel-backup": "^3.0.0"
},
"require-dev": {
"filp/whoops": "~2.0",
"fzaninotto/faker": "~1.4",
"mockery/mockery": "~1.0",
"phpunit/phpunit": "~6.0"
},
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"extra": {
"laravel": {
"dont-discover": [
]
}
},
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate"
],
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover"
]
},
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
}
}
В моем коде/конфигурации ошибка?
Спасибо !
Не в сети
По-прежнему ищу решение.
Никто я такой проблемой не сталкивался ?
Или есть средства лучшие упомянутой DropboxAdapter либы( для API 2 ) ?
Не в сети