Предисловие
В связи с требованиями проекта необходимо загрузить фотографии в 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]