Рубрики
Uncategorized

Laravel-ОС загрузки файлов администратора

Автор оригинала: David Wong.

Предисловие

В связи с требованиями проекта необходимо загрузить фотографии в Aliyun OSS. Мой интерфейс Api и фоновый проект разделены. Оба они разработаны с использованием фреймворка laravel. Доступ Api к ОС здесь не обсуждается. Здесь мы в основном говорим о проблеме загрузки Aliyun OSS от laravel-администратора.

Некоторые онлайн-уроки также очень хороши, но только о процессе использования, редко о возникающих проблемах и так далее. Здесь в основном рассказывается о некоторых проблемах, с которыми я столкнулся, когда получил доступ ко всем операционным системам в laravel-admin. Когда все еще будут проблемы, они будут обновлены здесь.

среда разработки

Вот мой composer.json Контент (перечислите только то, что нужно для этой статьи):

"require": {
    "php": ">=7.0.0",
    "encore/laravel-admin": "^1.6",
    "jacobcyl/ali-oss-storage": "^2.1",
    "laravel/framework": "5.5.*",
    ...
}

Конкретный процесс

1. Загрузите соответствующие пакеты сторонних производителей

оставайтесь composer.json Требуются дополнения в файлах "jacobcyl/alioss-хранилище": "^2.1" ;

Или запустить напрямую композитору требуется jacobcyl/alioss-хранилище:^2.1 Также.

2. Добавление поставщиков услуг

останься config/app.php Увеличение в разделе документы Jacobcyl\Псевдонимы\Поставщик услуг псевдонимов::класс, Как показано на следующем рисунке:

3.config/filesystems.php Увеличение информации о конфигурации операционной системы

Следующим образом:

'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],
        
        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
        ],
        
        // Here's a new addition
        'oss' => [
            'driver' => 'oss',
            'access_id'=>// Here's your OSS's access Id.
            'access_key'=>// Here's your OSS access key.
            'bucket'=>//Here is your OSS custom storage space name.
            'endpoint'=>'oss-cn-hangzhou.aliyuncs.com', //Take Hangzhou as an example
            'cdnDomain'=>', // When using cdn, you need to write, https:// plus Bucket domain name
            'ssl'=> true, // true uses'https://'false'and'http://'. Default false,
            'isCName'=> false, // whether to use a custom domain name, true: Storage. URL () will use a custom CDN or domain name to generate a file url, false: using external nodes to generate URL
            'debug' => false,
        ],

    ],

4.config/filesystems.php измените информацию о конфигурации “по умолчанию”

Следующим образом:

'default' => env('FILESYSTEM_DRIVER', 'oss'),

Также может быть в env Определение в файле ФАЙЛОВАЯ СИСТЕМА_ДРАЙВЕР Также.

5.config/admin.php измените загрузку, Чтобы настроить

Следующим образом:

'upload' => [

    // Disk in `config/filesystem.php`.
    'disk'=>'oss', // Here is the OSS configuration pointing to disks

    // Image and file upload path under the disk above.
    'directory' => [
        'image' => 'images',
        'file'  => 'files',
    ],
],

Шаги в Интернете, как правило, здесь, ссылка на приведенный выше процесс: laravel-загрузка файлов администратором ОС;

Возникают проблемы

Но тогда возникает проблема. laravel-администратор В целях быстрой разработки разработчиками мы выполнили некоторые из наших собственных функций при использовании учетной записи по умолчанию. администратор После входа в систему изображение головы по умолчанию отображается в правом верхнем и левом верхнем углу фоновой страницы. Изображение головы по умолчанию хранится локально. локально Под поставщиком/на бис/laravel-администратор/ресурсы/просмотры/частичные ниже header.blade.php и sidebar.blade.php Как показано в двух файлах представления, см. Следующий рисунок:

Но тогда возникает проблема. || laravel-администратор || В целях быстрой разработки разработчиками мы выполнили некоторые из наших собственных функций при использовании учетной записи по умолчанию. || администратор || После входа в систему изображение головы по умолчанию отображается в правом верхнем и левом верхнем углу фоновой страницы. Изображение головы по умолчанию хранится локально. || локально || Под || поставщиком/на бис/laravel-администратор/ресурсы/просмотры/частичные || ниже || header.blade.php || и || sidebar.blade.php || Как показано в двух файлах представления, см. Следующий рисунок:

Но тогда возникает проблема. || laravel-администратор || В целях быстрой разработки разработчиками мы выполнили некоторые из наших собственных функций при использовании учетной записи по умолчанию. || администратор || После входа в систему изображение головы по умолчанию отображается в правом верхнем и левом верхнем углу фоновой страницы. Изображение головы по умолчанию хранится локально. || локально || Под || поставщиком/на бис/laravel-администратор/ресурсы/просмотры/частичные || ниже || header.blade.php || и || sidebar.blade.php || Как показано в двух файлах представления, см. Следующий рисунок:

И мы Конкретный процесс//5 шагов загруженной конфигурации были изменены на oss, затем при доступе к фоновому, это вызовет исключение:

Сначала я подумал, что да. config/filesystems.php Из по умолчанию Также написано локально Она будет решена, но результата нет. Из-за времени я не изучил его подробно. Я все еще новичок в принципе загрузки файлов laravel framework, но вот мое решение. Если есть лучшее решение, пожалуйста, исправьте его ниже. Спасибо!

Решать

удержание header.blade.php и sidebar.blade.php Изображения в двух файлах просмотра src Перейдите в ОС Aliyun для хранения изображений, таких как: https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/xxx/5c77a20012963.jpg Это изображение-адрес изображения, которое вы хотите загрузить. Вот только пример. Конечно, так писать неудобно. В случае будущих изменений нам все равно нужно найти изменения, внесенные вручную в эти два файла. Это очень хлопотно. Мы можем разделить и оптимизировать их в соответствии с нашими собственными потребностями. Это здесь не обсуждается.

Дорога перекрыта и длинная, а нам все равно нужно двигаться дальше!

Reference: 

[https://blog.csdn.net/zxdf123/article/details/82752145][6]

[https://blog.csdn.net/guyaofei/article/details/79918697][7]