168 lines
5.1 KiB
PHP
168 lines
5.1 KiB
PHP
<?php
|
|
|
|
$businessStorage = require __DIR__ . '/business_storage.php';
|
|
$qiniu = $businessStorage['qiniu'];
|
|
|
|
$localUploadsDisk = [
|
|
'driver' => 'local',
|
|
'root' => storage_path('app/uploads'),
|
|
'url' => app()->runningInConsole() ? '' : url('/') . '/uploads',
|
|
'visibility' => 'private',
|
|
'throw' => false,
|
|
];
|
|
|
|
$qiniuUploadsDisk = [
|
|
'driver' => 's3',
|
|
'key' => $qiniu['access_key'],
|
|
'secret' => $qiniu['secret_key'],
|
|
'region' => $qiniu['region'],
|
|
'bucket' => $qiniu['bucket'],
|
|
'endpoint' => $qiniu['endpoint'],
|
|
'root' => $qiniu['root'],
|
|
'use_path_style_endpoint' => true,
|
|
'visibility' => 'private',
|
|
'stream_reads' => true,
|
|
'throw' => true,
|
|
];
|
|
|
|
$uploadsDisk = $businessStorage['driver'] === 'qiniu'
|
|
? $qiniuUploadsDisk
|
|
: $localUploadsDisk;
|
|
|
|
return [
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Default Filesystem Disk
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here you may specify the default filesystem disk that should be used
|
|
| by the framework. The "local" disk, as well as a variety of cloud
|
|
| based disks are available to your application. Just store away!
|
|
|
|
|
*/
|
|
|
|
'default' => 'uploads',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Default Cloud Filesystem Disk
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Many applications store files both locally and in the cloud. For this
|
|
| reason, you may specify a default "cloud" driver here. This driver
|
|
| will be bound as the Cloud disk implementation in the container.
|
|
|
|
|
*/
|
|
|
|
'cloud' => 'uploads',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Allowed file mimes
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
'mimes' => env('FILESYSTEM_MIMES', 'pdf,jpeg,jpg,png'),
|
|
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Allowed file max size, in MB
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
'max_size' => env('FILESYSTEM_MAX_SIZE', '2'),
|
|
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Allowed image max width, in pixes
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
'max_width' => env('FILESYSTEM_MAX_WIDTH', '1000'),
|
|
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Allowed image max height, in pixes
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
'max_height' => env('FILESYSTEM_MAX_HEIGHT', '1000'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Filesystem Disks
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here you may configure as many filesystem "disks" as you wish, and you
|
|
| may even configure multiple disks of the same driver. Defaults have
|
|
| been set up for each driver as an example of the required values.
|
|
|
|
|
| Supported Drivers: "local", "ftp", "sftp", "s3"
|
|
|
|
|
*/
|
|
|
|
'disks' => [
|
|
|
|
'local' => [
|
|
'driver' => 'local',
|
|
'root' => storage_path('app'),
|
|
'throw' => false,
|
|
],
|
|
|
|
'public' => [
|
|
'driver' => 'local',
|
|
'root' => storage_path('app/public'),
|
|
'url' => app()->runningInConsole() ? '' : url('/') . '/storage',
|
|
'visibility' => 'public',
|
|
'throw' => false,
|
|
],
|
|
|
|
'temp' => [
|
|
'driver' => 'local',
|
|
'root' => storage_path('app/temp'),
|
|
'url' => app()->runningInConsole() ? '' : url('/') . '/temp',
|
|
'visibility' => 'private',
|
|
'throw' => false,
|
|
],
|
|
|
|
// Stable logical disk used by all business uploads. The implementation
|
|
// switches as one unit, so existing media rows keep the same disk name.
|
|
'uploads' => $uploadsDisk,
|
|
|
|
// Fixed source and destination disks used by the idempotent one-time
|
|
// migration. Local originals are retained for rollback.
|
|
'business_uploads_local' => $localUploadsDisk,
|
|
|
|
'business_uploads_qiniu' => $qiniuUploadsDisk,
|
|
|
|
's3' => [
|
|
'driver' => 'local',
|
|
'root' => storage_path('app/uploads'),
|
|
'url' => app()->runningInConsole() ? '' : url('/') . '/uploads',
|
|
'visibility' => 'private',
|
|
'throw' => false,
|
|
],
|
|
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Symbolic Links
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here you may configure the symbolic links that will be created when the
|
|
| `storage:link` Artisan command is executed. The array keys should be
|
|
| the locations of the links and the values should be their targets.
|
|
|
|
|
*/
|
|
|
|
'links' => [
|
|
public_path('storage') => storage_path('app/public'),
|
|
],
|
|
|
|
];
|