Как изменить путь загрузки на public_html вместо публичного laravel - PullRequest
0 голосов
/ 29 декабря 2018

Я использую рюкзак Laravel и пытаюсь загрузить изображения.в местной работе.но на сервере изображение загружено в общий доступ, а не отображается на сайте, я пытаюсь изменить диск и в файловой системе, но ничего не изменилось

// модель

 public function setPosterAttribute($value)
    {
        $attribute_name = "poster";
        $disk = "public";
        $destination_path = "uploads/products/posters";

        // if the image was erased
        if ($value==null) {
            // delete the image from disk
            \Storage::disk($disk)->delete($this->{$attribute_name});

            // set null in the database column
            $this->attributes[$attribute_name] = null;
        }

        // if a base64 was sent, store it in the db
        if (starts_with($value, 'data:image'))
        {
            // 0. Make the image
            $image = \Image::make($value);
            // 1. Generate a filename.
            $filename = md5($value.time()).'.jpg';
            // 2. Store the image on disk.
            \Storage::disk($disk)->put($destination_path.'/'.$filename, $image->stream());
            // 3. Save the path to the database
            $this->attributes[$attribute_name] = $destination_path.'/'.$filename;
        }
    }

// fileSystem

    'public' => [
        'driver' => 'local',
        'root' => public_path(),
        'visibility' => 'public',
    ],

1 Ответ

0 голосов
/ 29 декабря 2018

Ну, в вашем публичном массиве корень установлен на public_path(), который является путем к вашей папке public.Если вы хотите изменить это, вам следует указать следующую конфигурацию:

'public' => [
    'driver' => 'local',
    'root' => base_path('public_html'),
    'visibility' => 'public',
],
...