Как загрузить изображение через контроллер? - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь заставить свое приложение Laravel Voyager загружать изображения / новости в другую папку через Controller, а не в зависимости от настроек в filesystems.php

. Причина, по которой яЭто связано с тем, что я хотел организовать организованную структуру папок для своих публикаций, чтобы изображения помещались в папку с именем «2019».

Есть ли способ достичь этого?


файловая система.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_KEY'),
            'secret' => env('AWS_SECRET'),
            'region' => env('AWS_REGION'),
            'bucket' => env('AWS_BUCKET'),
        ],
    ],

NewsController.php

public function store(Request $request)
{
    $slug = $this->getSlug($request);

    $dataType = Voyager::model('DataType')->where('slug', '=', $slug)->first();

    // Check permission
    $this->authorize('add', app($dataType->model_name));

    // Validate fields with ajax
    $val = $this->validateBread($request->all(), $dataType->addRows);

    if ($val->fails()) {
        return response()->json(['errors' => $val->messages()]);
    }

    if (!$request->has('_validate')) {
        $data = $this->insertUpdateData($request, $slug, $dataType->addRows, new $dataType->model_name());

        event(new BreadDataAdded($dataType, $data));

        if ($request->ajax()) {
            return response()->json(['success' => true, 'data' => $data]);
        }

        return redirect()
            ->route("voyager.{$dataType->slug}.index")
            ->with([
                    'message'    => __('voyager::generic.successfully_added_new')." {$dataType->display_name_singular}",
                    'alert-type' => 'success',
                ]);
    }
}

структура текущей папки

...